2 Herencia
2 Herencia
2 Herencia
Definiciones
● Proceso por el cual una clase adquiere las propiedades (atributos,
comportamientos) de otra clase
● Clase B
Clase A
int x
int x int y
int y La clase C
Hereda de la
clase B
int z Adicionalmente
int x se pueden crear
int y objetos tanto de
int x la clase B como
int y de la clase A
Clase C
objA
● Los mamíferos son animales especificados con más precisión, por lo tanto
heredan todos los atributos y comportamientos de los animales
● Ejemplo
tamaño
atributos inteligencia
tipo de esqueleto
clase
animales comen
comportamientos respiran
duermen
Si se quisiera describir una clase más específica de animales como los mamíferos
solo habría que indicar atributos específicos como el “tipo de dientes”, “glandulas
mamarias”
animales
tamaño
inteligencia
tipo de esqueleto
mamíferos hereda de
animales.
En java la palabra
reservada es (extends)
tipo de dientes, glandulas mamarias
mamíferos
tamaño
inteligencia
tipo de esqueleto
De la relación de herencia anterior
● Ejemplos
○ perro, perico, elefante —-- subclases de animal
○ alumno, trabajador, musico —- subclases de persona
○ lista, pila, cola —- subclases de TDA (Tipo de Dato Abstracto) Lineal
○ arbol, grafo —- subclases del TDA No Lineal
En java solo se permite la herencia
simple, NO se permite la herencia
múltiple
A clase A clase C
clase A
clase B clase C
C
clase B
OK OK x
Codificacion
class B extends A{ class HerenciaSimple{
class A{
public static void main(String[] args){
int k;
int i,j; void mostrark(){
A superOb = new A();
sop(“i y j” + i + j); }//fin del metodo mostrark superOb.i =10; superOb.j =20; superOb.mostrarij();
hum
Humano
Principal main
Americano Mexicano
mex
ame
Clase Humano
class Humano{ String getNombreCompleto(){
private String nombre;
return nombre + “ “ + apellido;
private String apellido;
}
private int edad;
this.curp=curp;
String Informacion(){
this.nss=nss;
String Informacion(){
sop(mex.Informacion());
sop(info);