freeCodeCamp/guide/spanish/java/inheritance-basics/index.md

53 lines
1.9 KiB
Markdown

---
title: Inheritance Basics
localeTitle: Fundamentos de Herencia
---
# Fundamentos de Herencia
Tan genial que ha creado con éxito una clase de coches. Pero, espera, ¿no se supone que los autos de Tesla son variantes eléctricas? Quiero una clase de automóvil eléctrico, pero también debería tener las propiedades de la clase de `Car` original.
Solución: **Herencia** . Java proporciona una forma sencilla de "heredar" las propiedades principales:
```java
public class Car {
private String name;
private String manufacturerName;
public Car(String name, String man) {
this.name = name;
this.manufacturerName = man;
}
// Getter method
public String getName() {
return name;
}
// Getter method
public String getManufacturerName() {
return manufacturerName;
}
}
public class ElectricCar extends Car {
public ElectricCar(String name, String man) {
super(name, man);
}
public void charge() {
System.out.println("Charging ...");
}
}
ElectricCar modelS = new ElectricCar("Model S","Tesla");
// prints Tesla
System.out.println(modelS.getManufacturerName());
// prints Charging ...
modelS.charge();
```
![:rocket:](//forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=2 ":cohete:") [Ejecutar código](https://repl.it/CJZY/0)
Vea aquí que la clase `ElectricCar` hereda o `extends` los métodos públicos de la clase `Car` , así como también tiene sus propios métodos y propiedades. Buena forma de transmitir información!
También tenga en cuenta el uso de la palabra clave [super](https://docs.oracle.com/javase/tutorial/java/IandI/super.html) aquí. Como nuestra clase `Car` tenía un constructor, también tenemos que inicializar ese constructor desde la clase secundaria. Hacemos eso usando la `super` palabra clave. Lea más sobre la herencia aquí .