Está en la página 1de 17

EXTENSIÓN

DE CLASES

M.Sc. Daniel Minaya Gutiérrez


LOS ELEMENTOS DE UNA CLASE

getMarca() getModelo()

getMatricula() getColor()

getTarifa() getDisponible()

setTarifa(double tarifa) setDisponible(boolean disponible)


COMPOSICIÓN

Consiste en crear una clase nueva agrupando objetos de


clases que ya existen. Una composición agrupa uno o más
objetos para construir una clase, de manera que las
instancias de esta nueva clase contienen uno o más
objetos de otras clases.
COMPOSICIÓN
HERENCIA
La herencia es la capacidad que tienen los lenguajes orientados a
objetos para extender clases.

Podemos definir la herencia como la capacidad de crear clases que


adquieren de manera automática los miembros (atributos y métodos)
de otras clases que ya existen, pudiendo al mismo tiempo añadir
atributos y métodos propios.
HERENCIA
Ventajas de la Herencia

Reutilización del código: En aquellos casos donde se necesita crear una clase que, además de otros
propios, deba incluir los métodos definidos en otra, la herencia evita tener que reescribir todos esos
métodos en la nueva clase.

Mantenimiento de aplicaciones existentes: Utilizando la herencia, si tenemos una clase con una
determinada funcionalidad y tenemos la necesidad de ampliar dicha funcionalidad, no necesitamos
modificar la clase existente (la cual se puede seguir utilizando para el tipo de programa para la que fue
diseñada) sino que podemos crear una clase que herede a la primera, adquiriendo toda su funcionalidad
y añadiendo la suya propia.
HERENCIA
HERENCIA
//Una subclase de Vehiculos es Taxi
class Vehiculos{ class Taxi extends Vehiculos{
private String marca; String licencia;
private String modelo; double alquiler(){
void verVehiculo(){ return modelo+marca;
System.out.println(“La marca y modelos del vehiculo es: }
"+marca+" y "+modelo); void mostrarAlquiler(){
} System.out.println(“El vehiculo alquilado es:
} "+modelo+” marca ”+ “y licencia del
conductor”+licencia);
}
}
TIPOS DE HERENCIA EN JAVA

Herencia única: en la herencia única, las


subclases heredan las características de
solo una superclase. En la imagen a
continuación, la clase A sirve como clase
base para la clase derivada B.
TIPOS DE HERENCIA EN JAVA

Herencia Multinivel: en la herencia multinivel, una clase


derivada heredará una clase base y, además, la clase
derivada también actuará como la clase base de otra
clase. En la imagen inferior, la clase A sirve como clase
base para la clase derivada B, que a su vez sirve como
clase base para la clase derivada C. En Java, una clase
no puede acceder directamente a los miembros de los
“abuelos”.
TIPOS DE HERENCIA EN JAVA
Herencia Jerárquica: en la
herencia jerárquica, una clase
sirve como una superclase (clase
base) para más de una subclase.
En la imagen inferior, la clase A
sirve como clase base para la
clase derivada B, C y D.
TIPOS DE HERENCIA EN JAVA

Herencia Múltiple (a través de interfaces): en Herencia


múltiple, una clase puede tener más de una
superclase y heredar características de todas las
clases principales. Tenga en cuenta que Java no
admite herencia múltiple con clases. En Java,
podemos lograr herencia múltiple solo a través de
Interfaces. En la imagen a continuación, la Clase C se
deriva de la interfaz A y B.
TIPOS DE HERENCIA EN JAVA

Herencia Híbrida (a través de Interfaces): Es


una mezcla de dos o más de los tipos de
herencia anteriores. Como Java no admite
herencia múltiple con clases, la herencia
híbrida tampoco es posible con clases. En
Java, podemos lograr herencia híbrida solo
a través de Interfaces.
POLIMORFISMO

Polimorfismo es la capacidad de un objeto de adquirir


varias formas. El uso más común de polimorfismo en
programación orientada a objetos se da cuando se utiliza
la referencia de una clase padre, para referirse al objeto de
la clase hijo.
POLIMORFISMO
POLIMORFISMO

Polimorfismo de asignación

El polimorfismo de asignación es el que está más relacionado con el enlace


dinámico.

En java, una misma variable referenciada (Clases, interfaces…) puede hacer


referencia a más de un tipo de Clase. El conjunto de las que pueden ser
referenciadas está restringido por la herencia o la implementación.

También podría gustarte