sesi n7 Herencia a polimorfismo V2

Páginas: 6 (1440 palabras) Publicado: 14 de septiembre de 2015
Taller de Programación Básica
en java

Facilitadores:
• ISC. MARIBEL BUENO QUIÑONES
• MC. MA. ELENA MONTES ALMANZA
• ME. PEDRO CELESTINO RAMIREZ

HERENCIA Y
POLIMORFISMO
Sobreescritura y Sobrecarga

Herencia.
• Esto es una de
las bases de la
reutilización de
código, en lugar
de copiar y
pegar.

extends
después del
nombre de la
clase.

Definir una
clase tomando
como base a
otra clase yaexistente.

Se
especifica
agregando
la claúsula :

Los
constructores
son utilizados,
pero no
heredados.

Al heredar de
una clase
base,
heredaremos
:

•.

class Subclase extends SuperClase{ }

• atributos
• métodos,

Mecanismo para extender clases
• Una clase
adquiere o hereda
los atributos y
métodos de otra.

• La clase que
hereda se llama
subclase.

• Prueba de
validez:

• La clase base se
llamasuperclase.

relación
“UnLa
objeto
de tipo
subclase debe ser
“Es un”
también
de tipo
superclase.”

Mecanismo para extender clases

Ejemplo:
Vehiculo
start(): void
extends

Coche
drive(): void

Ejemplo 2:

Variable de instancia

extends

Resultado:

Herencia

Realizar la siguiente
actividad…
Ejercicio 5, 6 y 7

Polimorfismo
Hay varias
formas de
polimorfismo







Cuando invocamos el mismonombre de método sobre
instancias de distinta clase
(sobreescritura)
cuando creamos múltiples
constructores
cuando a través del subtipo
asignamos una instancia de una
subclase a una referencia a la
clase base.

Sobreescritura de métodos


Una subclase puede
modificar el comportamiento
heredado de la superclase,
substituyendo (overriding)
métodos.

 La subclase crea un método
funcionalmentediferente,
pero con el mismo:


Nombre



Tipo de retorno
Lista de Argumentos



class Camaleón
se reproduce ()
come()
duerme()
cambiaColor()

class Animal
duerme()
come()
se reproduce()

class Mamífero
come()
class Iguana
duerme() iguana
cambiaColor()

Métodos de Instancia

Métodos de Clase

Un método de instancia es
una subclase con la misma
firma (nombre, más el
número y tipo de susparámetros) y tipo de
regreso que un método de
instancia en la superclase
sobreescribe el método
de la superclase.

Si una subclase define
un método de clase
con la misma firma que
un método de clase en
la superclase, el
método en la subclase
esconde el que está
en la superclase.

Sobreescritura de métodos de
instancia
public class Empleado {

public class Gerente extends Empleado{

protected Stringnombre ;

protected String departamento;

protected double salario;
protected Date Fechanac;
public String getDetalles() {

public String getDetalles() {
return “Nombre: “ + nombre + “\n” +
“Salario “ + salario;

return “Nombre: “ + nombre + “\n” + “Salario:
“ + salario + "\n" +
“Gerente de: “ + departamento;

}

}

}

}

Sobreescritura de métodos de
clase

public class Cat extends Animal {
publicstatic void ClassMethod() {

public class Animal {

ystem.out.println("El método de
clase en Cat.");
}

public static void ClassMethod() {

public void InstanceMethod() {

System.out.println("El
método de clase en Animal.");
}

public void InstanceMethod() {

System.out.println("El método
de instancia en Cat.");
}
public static void main(String[]args)
{
Cat myCat = new Cat();System.out.println("El
método de instancia en
Animal.");

Animal myAnimal = myCat;

Animal. ClassMethod();

}

myAnimal. InstanceMethod();

}

La salida de este programa es
como sigue:
El método de clase en Animal.
El método de instancia en Cat.

}
}

la versión del método escondido que se invoca es
el que está en la superclase, y la versión del
método sobreescrito que se invoca es la que está
en la subclase.

.Accediendo a un método
sobreescrito de una Superclase
Si su método
sobreescribe
uno de los
métodos de una
superclase,
Se puede invocar
al método
sobreescrito a
través del uso de
la palabra clave

public class Superclass {
public void printMethod() {
System.out.println("Impreso en
Superclass.");
}
}
public class Subclass extends Superclass {
public void printMethod() {
super.printMethod();...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • polimorfismo y herencia
  • HERENCIA Y POLIMORFISMO
  • herencia y polimorfismo
  • herencia y polimorfismo
  • Herencia y polimorfismo
  • Herencia y polimorfismo
  • Encapsulamiento herencia y polimorfismo
  • Herencia y polimorfismo en c++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS