La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

HERENCIA.

Presentaciones similares


Presentación del tema: "HERENCIA."— Transcripción de la presentación:

1 HERENCIA

2 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA ¿Qué es? Tipos de herencia. Sobrescribir. This Super E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

3 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA ¿Qué es? Se trata de crear una clase hija (subclase), que hereda de la clase padre (superclase) todos sus atributos, constructores, getters, setters y métodos que pueden ser modificados. Aunque puede tener esta sus propios atributos y métodos. Estos nos permite la reusabilidad del código. Se implementa mediante: extends Cuando en Java indicamos que una clase “extends” otra clase estamos indicando que es una clase hija de esta y que, por lo tanto, hereda todos sus métodos y variables. Este es un poderoso mecanismo para la reusabilidad del código. Podemos heredar de una clase, por lo cual partimos de su estructura de variables y métodos, y luego añadir lo que necesitemos o modificar lo que no se adapte a nuestros requerimientos. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

4 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA Tipos Existen dos tipos de herencias: Simple Múltiple, java no las soporta. HERENCIA SIMPLE Solo heredamos los atributos y métodos de las clases superiores de la jerarquía. HERENCIA MULTIPLE En Java no está soportada la herencia múltiple, esto es, no está permitido que una misma clase pueda heredar las propiedades de varias clases padres. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

5 HERENCIA SOBRESCRIBIR
Para que un método realice lo que nosotros queramos se debe SOBRESCRIBIRLO. Solo debemos volver a definir el método en la clase hija con el mismo nombre y parámetros. Si un método no hace lo que nosotros queríamos podemos sobrescribirlo (overriding). Bastará para ello que definamos un método con el mismo nombre y parametros. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

6 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA this Es una variable especial de sólo lectura que proporciona Java. Contiene una referencia al objeto en el que se usa dicha variable. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

7 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA this A veces es útil que un objeto pueda referenciarse a si mismo, vemos un ejemplo: class Cliente{ public Cliente(String n){ //Llamamos al otro constructor. El empleo de this ha de ser //siempre en la primera línea dentro del constructor. this(n, Cuenta.nuevo_numero()); ..... } public Cliente (String n, int a){ nombre = n; numero_cuenta = a; E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

8 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA this Otro posible uso de this, es diferenciar entre variables locales de un método o constructor y variables del objeto. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

9 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA Super Del mismo modo que this apunta al objeto actual tenemos otra variable super que apunta a la clase padre de la cual se deriva nuestra clase hija. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

10 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA Super Un ejemplo: class Gato { void hablar(){ System.out.println("Miau"); } }///~ class GatoMagico extends Gato { boolean gente_presente; if(gente_presente) //Invoca al método sobreescrito de la clase padre super.hablar(); else System.out.println("Hola"); } ///:~ E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

11 E.T.S de Ingenieros de Telecomunicación - UPNA
HERENCIA Desarrollar una clase llamada CuentaCorriente que: • Tenga tres atributos private de tipo Titular (Nombre – String, Apellidos –String y Edad – int), de tipo String (el número de cuenta) y de tipo double(el saldo). • Tenga un constructor con parámetros de tipo Titular, String y double. • Tenga un constructor con parámetros de tipo Titular y String. El saldo seinicializará a 15,3. • Tenga un getter para cada uno de los atributos. • Tenga un setter solo para el saldo. • Tenga un método ingresar que incremente el saldo en una cantidad. • Tenga un método reintegro que decremente el saldo en una cantidad. Tenga un método para que al imprimir la cuenta salga por pantalla el número de cuenta y su saldo. • Tenga un método para comparar cuentas, sabiendo que dos cuentas serán iguales si sus números de cuenta son iguales. Nota 1: Al imprimir por pantalla un Titular saldrá su nombre, apellidos y edad. Nota 2: Para comparar dos String utilizar su método compareTo(String) que devuelve 0 si son iguales. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

12 E.T.S de Ingenieros de Telecomunicación - UPNA
Desarrollar una clase llamada CuentaAhorro que: • Es una especialización de CuentaCorriente. • Tiene un atributo mas de tipo double (el interés). • Tiene un constructor con parámetros de tipo Titular, String, double y double. • Tiene un constructor con parámetros de tipo Titular, String y double. El saldo se inicializará a 15,3. • Tiene un constructor con parámetros de tipo Titular y String. El saldo se inicializará a 15,3 y el interés a 2,5. • Tiene un getter para cada uno de los atributos. • Tiene un método calcularInteres que incremente el saldo según el interés. Desarrollar la clase Practica6 que en su método main cree varias cuentas de distinto tipo y trabaje con ellas. E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005

13 Diagrama de Clases (UML):
E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005


Descargar ppt "HERENCIA."

Presentaciones similares


Anuncios Google