corina flores villarroel - cs.umss.edu.bo · definición •la herencia es un mecanismo que permite...
TRANSCRIPT
![Page 1: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/1.jpg)
Herencia a través de un ejemplo
Corina Flores Villarroel
![Page 2: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/2.jpg)
Definición
• La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente.
Clase ya existente
Nueva Clase
![Page 3: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/3.jpg)
¿Qué permite …?
• La herencia permite compartir (automáticamente) atributos y métodos entre la super clase y subclases.
SuperClase Atributos Metodos
SubClase Atributos Metodos
![Page 4: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/4.jpg)
¿Cómo se expresa …?
• Herencia no es más que un “Copy-Paste Dinámico” o una forma de “sacar factor común” al código que escribimos.
2ax - ay + 5a
a ( 2x - y + 5 )
![Page 5: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/5.jpg)
Ejemplo
• Vamos a simular el comportamiento que tendrían los diferentes integrantes de la selección boliviana de futbol; tanto los Futbolistas como el cuerpo técnico (Entrenadores, Masajistas, Utileros, Preparador Físico, etc…).
![Page 6: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/6.jpg)
Selección de futbol
• Futbolistas
![Page 7: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/7.jpg)
Selección de futbol
• Cuerpo técnico Entrenador
Preparador Físico
Utillero
Masajista
![Page 8: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/8.jpg)
Ejemplo
• Para simular este comportamiento vamos a definir tres clases que van a representaran a objetos Futbolista, Entrenador y Masajista.
![Page 9: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/9.jpg)
Ejemplo
carnetIdent nombre apellidos edad numero … Concentrarse() Entrenar() Viajar() JugarPartido() …
Futbolista
carnetIdent nombre apellidos edad codEntren … Concentrarse() Viajar() DirigirPartido() …
Entrenador
carnetIdent nombre apellidos edad Experiencia … Concentrarse() Viajar() Masajear() …
Masajista
![Page 10: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/10.jpg)
Y la nueva clase seria
carnetIdent nombre apellidos edad numero … setCi() getCi() …
SeleccionFutbol
![Page 11: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/11.jpg)
• Estas clases representadas en código quedaría así …
![Page 12: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/12.jpg)
Clase SeleccionFutbol
• public class SeleccionFutbol • {
• protected int ci; • protected String nombre; • protected String apellidos; • protected int edad; • protected String pos; • protected int nro;
• // constructor, getter y setter
• public int setCi () { • ... • }
• public void getCi() { • ... • }
• …. • }
![Page 13: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/13.jpg)
Clase Futbolista
• public class Futbolista • {
• private int ci; • private String nombre; • private String apellidos; • private int edad; • private String pos; • private int nro;
• // constructor, getter y setter
• public void Concentrarse() { • ... • }
• public void Viajar() { • ... • }
• public void jugarPartido() { • ... • }
• public void entrenar() { • ... • } • }
![Page 14: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/14.jpg)
Clase Entrenador
• public class Entrenador • {
• private int ci; • private String nombre; • private String apellidos; • private int edad; • private String codEntren;
• // constructor, getter y setter
• public void Concentrarse() { • ... • }
• public void Viajar() { • ... • }
• public void dirigirPartido() { • ... • }
• }
![Page 15: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/15.jpg)
Clase Masajista
• public class Masajista • {
• private int ci; • private String nombre; • private String apellidos; • private int edad; • private int experiencia;
• // constructor, getter y setter
• public void Concentrarse() { • ... • }
• public void Viajar() { • ... • }
• public void Masajear() { • ... • } • }
![Page 16: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/16.jpg)
Observando el código …
• ¿puedes ver si hay instrucciones que se duplican o repiten en las tres clases?
• ¿dónde?
![Page 17: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/17.jpg)
• ¿Qué atributos son comunes en las tres clases?
![Page 18: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/18.jpg)
Ejemplo
carnetIdent nombre apellidos edad numero … Concentrarse() Entrenar() Viajar() JugarPartido() …
Futbolista
carnetIdent nombre apellidos edad codEntren … Concentrarse() Viajar() DirigirPartido() …
Entrenador
carnetIdent nombre apellidos edad experiencia … Concentrarse() Viajar() Masajear() …
Masajista
![Page 19: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/19.jpg)
• ¿Qué métodos son comunes en las tres clases?
![Page 20: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/20.jpg)
Ejemplo
carnetIdent nombre apellidos edad numero … Concentrarse() Viajar() Entrenar() JugarPartido() …
Futbolista
carnetIdent nombre apellidos edad codEntren … Concentrarse() Viajar() DirigirPartido() …
Entrenador
carnetIdent nombre apellidos edad experiencia … Concentrarse() Viajar() Masajear() …
Masajista
![Page 21: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/21.jpg)
Ejemplo
carnetIdent nombre apellidos edad numero … Concentrarse() Viajar() Entrenar() JugarPartido() …
Futbolista
carnetIdent nombre apellidos edad codEntren … Concentrarse() Viajar() DirigirPartido() …
Entrenador
carnetIdent nombre apellidos edad experiencia … Concentrarse() Viajar() Masajear() …
Masajista
![Page 22: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/22.jpg)
• Entonces, ¿qué hacemos?
• Sacar el factor común o lo que es lo mismo que factorizar!
![Page 23: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/23.jpg)
• ¿Para qué?
• Para no escribir código demás …
![Page 24: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/24.jpg)
• ¿Cuál es la solución?
• Crear una nueva clase con el código que es común a las tres clases (a esta clase se le denominará en el concepto de herencia como clase Padre o Superclase)
![Page 25: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/25.jpg)
Clase Padre o Superclase
carnetIdent nombre apellidos edad Concentrarse() Viajar()
SeleccionFutbol
![Page 26: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/26.jpg)
• ¿Y qué hacemos con el código que no se repite (atributos y métodos propios de cada clase o sea aquello que no es común)?
![Page 27: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/27.jpg)
• Lo dejaremos en cada clase y denominaremos a éstas como clases Hijas o Subclases (estas clases heredarán de la clase padre todos los atributos y métodos públicos o protegidos y no así los atributos y métodos privados)
![Page 28: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/28.jpg)
Clases Hijas o Subclases
codEntren dirigirPartido()
Entrenador
nro JugarPartido() Entrenar()
experiencia Masajear()
Masajista Futbolista
![Page 29: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/29.jpg)
Modelo de clases con herencia
codEntren dirigirPartido()
Entrenador Nro JugarPartido() Entrenar()
experiencia Masajear()
Masajista Futbolista
carnetIdent nombre apellidos Edad Concentrarse() Viajar()
SeleccionFutbol
![Page 30: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/30.jpg)
¿Como representar la relación en el modelo?
Y se lee como es un
Ejemplo:
el Futbolista es un miembro de la SeleccionFutbol
![Page 31: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/31.jpg)
Clase SeleccionFutbol
• public class SeleccionFutbol • {
• protected int ci; • protected String nombre; • protected String apellidos; • protected int edad;
• // constructor, getter y setter
• public void concentrarse() { • ... • }
• public void viajar() { • ... • } • }
![Page 32: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/32.jpg)
Las demás clases quedan así
class Futbolista extends SeleccionFutbol
{
private String pos;
private int nro;
// constructor, getter y setter
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
class Masajista extends SeleccionFutbol
{
private int experiencia;
// constructor, getter y setter
public void masajear() {
...
}
}
![Page 33: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/33.jpg)
¿Como representar la relación en el código?
Ejemplo:
class Futbolista extends SeleccionFutbol
{}
Con la palabra reservada extends
![Page 34: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/34.jpg)
Palabra reservada extends
• extends, indica a la clase hija cual va a ser su clase padre, por ejemplo en la clase Futbolista al poner “public class Futbolista extends SeleccionFutbol” le estamos indicando a la clase ‘Futbolista’ que su clase padre es la clase ‘SeleccionFutbol’
![Page 35: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/35.jpg)
Palabra reservada extends
• Por ejemplo: al poner extends estamos haciendo un “copy-paste dinámico” diciendo a la clase “Futbolista” que se ‘copie’ todos los atributos y métodos públicos o protegidos de la clase “SeleccionFutbol”
![Page 36: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/36.jpg)
Un nuevo modificador de acceso
protected
![Page 37: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/37.jpg)
¿Cuándo usar protected?
• protected, sirve para indicar un tipo de visibilidad de los atributos y métodos de la clase padre.
• Solo se utiliza con herencia
• Se usa para indicar que cuando un atributo o método es ‘protected’ o protegido, solo es visible ese atributo o método desde una de las clases hijas y no desde otra clase.
![Page 38: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/38.jpg)
¿Cómo usar protected?
Ejemplo: Como atributos de la superclase (SeleccionFutbol)
tendremos: – carnetIdent
– nombre
– apellidos
– Edad
declarados como protected.
![Page 39: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/39.jpg)
¿Cómo usar protected?
Ejemplo:
En la subclase (Futbolista) se trabajará con el campo adicional numero declarado como private.
![Page 40: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/40.jpg)
¿Cómo usar protected?
Futbolista
carnetIdent nombre apellidos Edad Concentrarse() Viajar()
SeleccionFutbol
Private Nro JugarPartido() Entrenar()
Futbolista
Principal
SeleccionFutbol sfutbol;
PR
OTEC
TED
![Page 41: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/41.jpg)
¿Cómo hacemos referencia a los atributos de la clase padre?
• super, sirve para llamar al constructor de la clase padre. Así por ejemplo:
super
![Page 42: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/42.jpg)
¿Cómo se utiliza? (atributos)
public SeleccionFutbol (int id, String nombre, String apellidos, int edad) { this.ci = ci; this.nombre = nombre; this.apellidos = apellidos; this.edad = edad; }
private String pos; private int nro; public Futbolista (int id, String nombre, String apellidos, int edad, String pos,int nro) { super(id, nombre, apellidos, edad); this. pos= pos; this.nro = nro; }
![Page 43: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/43.jpg)
¿Cómo se utiliza? (métodos)
Class SeleccionFutbol { … public String toString () { return "Informacion:\n" + "\tCI: "+ci+"\n" + "\tNombre: "+nombre+"\n" + "\tApellido: "+apellidos+"\n" + "\tEdad: "+edad+" anhos\n"; } }
Class Futbolista { … public String toString () { return super.toString()+ "\tPosicion: "+pos+"\n" + "\tNumero: "+nro+"\n";} }
![Page 44: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/44.jpg)
Importante!
• super es la primera instrucción que se escribe en el cuerpo del constructor
![Page 45: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/45.jpg)
¿Qué hemos ganado?
• Un código mucho más limpio, estructurado y con menos líneas de código, lo que lo hace más legible, por tanto un código reutilizable
![Page 46: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/46.jpg)
¿Qué pasa si quisiéramos añadir más clases?
• Por ejemplo una clase Médico, Utillero, Preparador físico, etc. que pertenezcan también al equipo técnico de la selección boliviana.
![Page 47: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/47.jpg)
• … podemos hacer de forma muy sencilla ya que en la clase padre (SeleccionFutbol) tenemos implementado parte de sus datos y de su comportamiento y solo habrá que implementar los atributos y métodos propios de esa clase. Es aquí donde se puede apreciar la utilidad de la herencia!
![Page 48: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/48.jpg)
Modelo de clases con herencia
codEntren dirigirPartido()
Entrenador Nro JugarPartido() Entrenar()
experiencia Masajear()
Masajista Futbolista
carnetIdent nombre apellidos Edad Concentrarse() Viajar()
SeleccionFutbol
….
Utillero
![Page 49: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/49.jpg)
Tarea
• La entrega de la tarea es para el día 30 de diciembre
• Entregar por correo electrónico a la dirección: [email protected] hasta las 23:50 del día indicado.
![Page 50: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/50.jpg)
Tarea
• Partiendo del ejemplo EjercicioHerencia3 publicado en www.cs.umss.edu.bo se pide:
Mostrar la selección de futbol con los 11 futbolistas, un entrenador y un masajista.
Mostrar solo a los futbolistas que deben concentrarse.
![Page 51: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/51.jpg)
Tarea
Mostrar la lista de los futbolistas que deben viajar.
Mostrar al entrenador que va a dirigir el partido de futbol
Mostrar la lista de jugadores que deben jugar el partido ordenados por número
Mostrar los jugadores que juegan en la posición de delanteros
![Page 52: Corina Flores Villarroel - cs.umss.edu.bo · Definición •La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. Clase](https://reader030.vdocuments.co/reader030/viewer/2022040314/5e11dfda4a8f9052e408a6c0/html5/thumbnails/52.jpg)
Tarea
Mostrar el nombre y apellido del masajista y sus años de experiencia.
Dado el apellido de un futbolista, buscar si se encuentra en la lista de los futbolistas convocados a entrenar.