Sunteți pe pagina 1din 6

CAPITULO 3

HERENCIA DE CLASES

1. INTRODUCCION

Es posible utilizar clases ya definidas para crear a partir de estas nuevas clases
(clases heredadas), y luego agregarle funcionalidad adicional segun las
necesidades de esta nueva clase.

La herencia es uno de los 4 pilares de la Programación Orientada a Objetos (POO),


es un potente mecanismo para definen una nueva clase (subclase) a partir de otra
clase (superclase). La subclase puede añadir características sin tener que
reprogramar toda la clase de nuevo.

La Herencia es una propiedad que permite crear nuevas clases a partir de otras
clases ya existentes, con lo cual se hace posible la reutilización de código. Existe
una clase padre y una clase hija, la clase hija hereda las características del padre y
también adiciona nuevas características o modifica algunas que ya tiene el padre
para hacer especializaciones.

La significación de la palabra “herencia” no difiere de la empleada en el lenguaje


ordinario (Los hijos heredan rasgos de los padres).

HERENCIA DEFINICION.-

La herencia es un mecanismo que permite la definición de una clase a partir de la


definición de otra ya existente. La HERENCIA permite compartir automáticamente
métodos y datos entre subclases, clases y objetos.
SUPERCLASE

SUBCLASE

CLASE PADRE
ATRIBUTO 1
ATRIBUTO 2
..
ATRIBUTO N
METODO 1()
METODO 2()
..
METODO N()

CLASE HIJA1 CLASE HIJA2


ATRIBUTO A Las clases hijas heredan ATRIBUTO A
ATRIBUTO B ATRIBUTO B
.. los atributos y métodos
..
ATRIBUTO N de la clase padre pero ATRIBUTO N
METODO A() también tienen sus METODO A()
METODO B() METODO B()
propios atributos y
.. ..
METODO N() métodos METODO N()
2. TIPOS DE HERENCIA

Existen 2 tipos de herencia en POO, la herencia simple y la herencia múltiple, esta


última no es soportada por java, sin embargo permite simularla a través de la
implementación de interfaces.
HERENCIA SIMPLE

Se da cuando una clase hija hereda de una sola clase padre (atributos y métodos)
Ejemplo:

FIGURAS GEOMETRICAS

RECTANGULO
TRIANGULO

CUADRADO

PERSONA

ADMINISTRATIVO DOCENTE ESTUDIANTE


HERENCIA DE ATRIBUTOS

SINTAXIS EN JAVA
[TIPO DE ACCESO] TIPO_DATO_NOMBRE;

Para que los ATRIBUTOS puedan ser heredados deben ser públicos (public) o
protegidos (protected). Los campos protegidos se comportan como públicos dentro
de su propio paquete.
Cuando no se utiliza ningún tipo_acceso el campo es por defecto público (public)
dentro de su propio paquete, pero no es posible su acceso desde otro paquete, esto
quiere decir que es heredado por subclases dentro de su mismo paquete.

HERENCIA DE METODOS

SINTAXIS EN JAVA
[TIPO DE ACCESO] TIPO_DATO NOMBRE_METODO(LISTA DE PARAMETROS){
//CUERPO DEL METODO
}

Para que los METODOS puedan ser heredados deben ser públicos (public) o
protegidos (protected). Los METODOS protegidos se comportan como públicos
dentro de su propio paquete.
Cuando no se utiliza ningún tipo_acceso el METODO es por defecto publico (public)
dentro de su propio paquete, pero no es posible su acceso desde otro paquete, esto
quiere decir que es heredado por subclases dentro de su mismo paquete.
El tipo_dato define el tipo de dato que retorna el método, puede ser cualquier tipo
valido (int, float, doublé y otros). Si el método no retorna ningún valor se debe
especificar void.
LA SINTAXIS DE LA CLASE DERIVADA ES:

Class clasehija extends clasepadre{


//atributos clase hija
//constructores clase hija
//métodos clase hija
..}
PALABRA RESERVADA SUPER

Permite a una subclase hacer referencia a la superclase inmediata superior. Esta


palabra clave tiene dos formas generales:
 Es llamar al constructor de la superclase
 Para acceder a un método o atributo de la superclase que se ha ocultado por
un miembro de la subclase.
Ejemplo:
Realizar las siguientes clases en java.
Clase Animales
nombre
Leer()
Mostrar()

Clase Gatos Clase Perros


Color Color
edad Edad
Mostrar() raza
Mostrar()
Realizar las siguientes clase en java
Clase Persona
Nombre
Apellidos
Leer()
Mostrar()

Clase Docente Clase Estudiante

cargo Turno
horas_trabajadas carrera
salario_hora semestre

Leer() Leer()
Mostrar() Mostrar()
Salariototal()

S-ar putea să vă placă și