Anda di halaman 1dari 23

Herencia y

Polimorfismo
OBJETIVOS ESPECFICOS:

Herencia y
Polimorfismo
Contenido:
1.1. Definicin de herencia. Definicin de superclase y subclases.

Herencia

Herencia y
Polimorfismo

Es una propiedad que permite que los objetos sean creados a partir de
otros ya existentes, obteniendo caractersticas (mtodos y atributos)
similares a los ya existentes.

Medio de
transporte

Coche
Vehiculo areo

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Tipos de Herencia
Herencia Simple

Herencia Diferencial

Herencia
Mltiple

Una clase
puede heredar
Atributos y
Mtodos de
ms de una
superclase.

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Clase

Herencia y
Polimorfismo

Una clase es un proyecto o prototipo que se puede utilizar pa


Declaracin de una Clase

class Ticket {
Float precio;
String destino;
Date fechaSalida;

Ejemplo de una Clase

void firma(Float dePrecio, String deDestino, Date deFecha) {


precio = dePrecio;
destino = deDestino;
fechaSalida = deFecha;
}
}
Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Superclase
El trmino superclase se refiere a la clase que es el
ancestro ms directo, as como a todas las clases
ascendentes.

Declaracin de la Superclase de la
Clase

class NombredeClase extends NombredeSuperClase{


...
}

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Subclase
Una subclase es una clase que desciende de otra clase. Una
subclase hereda el estado y el comportamiento de todos
sus ancestros.

Declaracin de una
Subclase

class SubClase extends SuperClase{


super(Atributos de la Superclase);
. . .
}

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Variables Polimorfismo
miembro que hereda una
Subclase
Regla: Una subclase hereda todas las variables miembros de
su superclase que puedan ser accesibles desde la subclase (a
menos que la variable miembro est oculta en la subclase)
Heredan aquellas variables miembros declaradas como

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Mtodos
que hereda una
Subclase

Una subclase hereda todos los mtodos de sus superclase

Hereda aquellos mtodos declarados como

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Sobrescribir
Mtodos

La habilidad de una subclase para sobrescribir un mtodo de

Mtodos que una Subclase no puede


sobrescribir

Una subclase no puede sobrescribir mtodos que hayan sido declarado

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Escribir Clases y Mtodos
Finales

Se puede declarar que una clase sea final; esto es, que la clase no pu

Seguridad

Un mecanismo que
los hackers utilizan
para
atacar
sistemas es crear
subclases de una
clase
y
luego
sustituirla por el
original.
Objeto y Abstraccin de Datos

Diseo
Se podra pensar que una
clase es "perfecta, es
decir, la clase no debera
tener subclases

MsC Orlando Sevilla

Herencia y
Polimorfismo

Ejemplo de Herencia en JAVA

En el siguiente ejemplo observamos una clase persona de la cual


derivara la clase Alumno

class Persona {
private String nombre;
private int edad;
public Persona (String n, int e)
}

{ nombre = n; edad = e; }

class Alumno extends Persona {


private int curso;
private String nivelAcademico;
public Alumno (String n, int e, int c, String nivel) {
super(n, e);
curso = c; nivel_academico = nivel;
}
public static void main(String[] args)
{
Alumno a = new Alumno("Pepe", 1, 2, "bueno");
Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Ejemplo Herencia
Empleado que genera sus ingresos en Base a
Comisiones por lo tanto debemos definir el nombre las
ventas y el porcentaje que percibir

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Ejemplo de
Encapsulami
ento

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Ejemplo de
Encapsulami
ento

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Polimorfismo

Es la capacidad que tienen los objetos de una clase de respon

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Clasificacin
de
Polimorfismo
Polimorfismo dinmico
Es aqul en el que el cdigo
no incluye ningn tipo de
especificacin sobre el tipo
de datos sobre el que se
trabaja. As,
puede
ser
utilizado a todo tipo de datos
compatible

Polimorfismo esttico
Es aqul en el que los tipos a
los
que
se
aplica
el
polimorfismo
deben
ser
explcitos y declarados uno
por uno antes de poder ser
utilizados

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Sobrecarga de Mtodos

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo
Ejemplo de Polimorfismo en JAVA
Una clase empleado que ser la superclase de la subclase Jefe
que
tendrn un mtodo llamado Obtenerdetalle con diferente funciones para
cada clase

public class Empleado {


String nombre;
int salario;
public String Obtenerdetalle () {
return "Nombre: " + nombre + "\n" + "Salario: " + salario;
} // Fin del Metodo
} // Fin de la Clase empleado
public class Jefe extends Empleado{
String departamento;
public String Obtenerdetalle() {
return "Nombre: " + nombre + "\n" + "Departamento: "
+ departamento;
} // Fin de la Clase
}

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

public static void main(String[] args) {


Jefe gerente = new
Gerente(Carlos,12,sistema);
system.out.println(gerente.obtenerdetalle())
}
}

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Herencia y
Polimorfismo

Ejemplo de Polimorfismo en
JAVA
public class ObjetoPersonalidad {
public String hablar() {
public public
ObjetoIntrovertido
extends ObjetoPersonalidad
return class
"Soy un
objeto.";
{ }
} public String hablar() {
return Hola.";
} class ObjetoPesimista extends ObjetoPersonalidad {
public
} public String hablar() {
return "El vaso est medio vacio.";
}
public
class ObjetoExtrovertido extends ObjetoPersonalidad {
}
public String hablar() {
return "Hola, bla, bla, bla, sabas que bla, bla, bla.";
} class ObjetoOptimista extends ObjetoPersonalidad {
public
} public String hablar() {
return "El vaso est medio lleno.";
}
}

Objeto y Abstraccin de Datos

MsC Orlando Sevilla

Anda mungkin juga menyukai