ed-b1 instalación y uso de entornos
UT 4: el lenguaje java
11. LA POO - 11.3 Herencia
eugeniaperez.es


UT 4: EL LENGUAJE JAVA

11.3 La herencia

eugeniaperez.es
Encapsulación
HERENCIA
Polimorfismo
UT 4: EL LENGUAJE JAVA

11.3 La herencia
REPASO DE ENCAPSULACIÓN
Los modificadores de acceso en Java son:
private, protected, public y default (si no especificamos).
Los modificadores de acceso permiten restringir el acceso a los datos de un objeto, para que no sean modificados de forma incorrecta por parte de otros programadores.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11.3 La herencia
REPASO DE ENCAPSULACIÓN
Así sabemos que lo más correcto es definirlos como private y acceder a los mismos a través de get/set.

eugeniaperez.es

UT 4: EL LENGUAJE JAVA

11.3 La herencia
herencia

eugeniaperez.es
¡Los atributos o métodos privados NO se heredan!

Coche, moto y Bus heredarán los atributos y los métodos de Vehículo
UT 4: EL LENGUAJE JAVA

herencia... ¿PARA QUÉ SIRVE? ¡fÁCTOR COMÚN!

eugeniaperez.es


11.3 La herencia
UT 4: EL LENGUAJE JAVA

public class Futbolista
{
private int id;
private String Nombre;
private String Apellidos;
private int Edad;
private int dorsal;
private String demarcacion;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
public class Entrenador
{
private int id;
private String Nombre;
private String Apellidos;
private int Edad;
private String idFederacion;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
public void dirigirPartido() {
...
}
public void dirigirEntreno() {
...
}
}
public class Masajista
{
private int id;
private String Nombre;
private String Apellidos;
private int Edad;
private String Titulacion;
private int aniosExperiencia;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
public void darMasaje() {
...
}
}
11.3 La herencia
UT 4: EL LENGUAJE JAVA


11.3 La herencia
UT 4: EL LENGUAJE JAVA


eugeniaperez.es
public class SeleccionFutbol
{
protected int id;
protected String Nombre;
protected String Apellidos;
protected int Edad;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
}
public class Futbolista extends SeleccionFutbol
{
private int dorsal;
private String demarcacion;
public Futbolista() {
super();
}
// getter y setter
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
public class Entrenador extends SeleccionFutbol
{
private String idFederacion;
public Entrenador() {
super();
}
// getter y setter
public void dirigirPartido() {
...
}
public void dirigirEntreno() {
...
}
}
public class Masajista extends SeleccionFutbol
{
private String Titulacion;
private int aniosExperiencia;
public Masajista() {
super();
}
// getter y setter
public void darMasaje() {
...
}
}
11.3 La herencia
UT 4: EL LENGUAJE JAVA


eugeniaperez.es
11.3 La herencia
public class SeleccionFutbol
{
protected int id;
protected String Nombre;
protected String Apellidos;
protected int Edad;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
}
public class Futbolista extends SeleccionFutbol
{
private int dorsal;
private String demarcacion;
public Futbolista() {
super();
}
// getter y setter
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
En la clase base, los atributos deben ser protegidos.
En la clase hija, la herencia se representa con extends.
super() sirve para llamar al constructor de la clase padre.
Debe ser lo primero que se haga.
public class SeleccionFutbol
{
protected int id;
protected String Nombre;
protected String Apellidos;
protected int Edad;
public SeleccionFutbol(int id, String nombre, String apellidos, int edad) {
this.id = id;
this.Nombre = nombre;
this.Apellidos = apellidos;
this.Edad = edad;
}
public void Concentrarse() {
...
}
public void Viajar() {
...
}
}
public class Futbolista extends SeleccionFutbol
{
private int dorsal;
private String demarcacion;
public Futbolista(int id, String nombre, String apellidos,
int edad, int dorsal, String demarcacion) {
super(id, nombre, apellidos, edad);
this.dorsal = dorsal;
this.demarcacion = demarcacion;
}
// getter y setter
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
public class Main {
public static void main(String[] args) {
Entrenador delBosque = new Entrenador(1, "Vicente", "Del Bosque", 60, "123456M");
Futbolista iniesta = new Futbolista(2, "Andrés", "Iniesta", 31, 6, "Interior Derecho");
Masajista pacoflores = new Masajista(3, "Paco", "Flores", 39, "Fisioterapeuta", 18);
...
}
}
UT 4: EL LENGUAJE JAVA

11.3 La herencia
ejemplo de personas (INHERITANCE)

eugeniaperez.es

UT 4: lenguaje java

Herencia

eugeniaperez.es
DESCARGA En BITBUCKET:
Proyecto ED.UT4.ClientInheritance:
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.clientinheritance.git
Usuario: entornos_desarrollo
Password: Entornos
UT 4: lenguaje java

Herencia

eugeniaperez.es
EJERCICIO 1 Y 2 - Pág. 110
UT11. POO - Herencia
By eugenia_perez
UT11. POO - Herencia
- 1,475