Clases Abstractas
Clases Abstractas - Casting y Polimorfismo
Ing. Freddy Infantes Quiroz
finfantesq@upao.edu.pe
2012
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Agenda
• Clases Abstractas
• Métodos Abstractos
• Compatibilidad de Asignación
• Casting(Conversión de tipos).
- Tipos Primitivos.
-Tipos de Referencias (UpCasting y DownCasting).
• Polimorfismo.
– Tipos de Enlaces a Métodos: Estático y Dinámico.
Ing. Freddy Infantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Clase Abstracta
•
•
•
Una Clase abstracta se caracteriza porque no tiene todos sus métodos
implementados y son usadas como clasesbase para otras clases.
No se puede crear objetos(instancias) de una clase abstracta.
Las clases y métodos abstractos llevan la palabra reservada abstract.
Ejm:
Clases abstractas:
- Figura
- Persona
- Documento
etc…
:Figura
:Circulo
:Rectangulo
Nota:
Circulo y Rectangulo serían Clases Concretas, que se caracterizan por tener
siempre sus métodos implementados.
Ing. FreddyInfantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Clase Abstracta
•
Sintaxis:
•
Ejemplo:
public abstract class NombreClase
{
//Atributos
//Constructores
//Métodos set y get
//Métodos Abstractos
//Métodos No Abstractos
}
public abstract class Figura
{
//Atributos
//Constructores
//Métodos sety get
//Métodos Abstractos
//Métodos No Abstractos
}
Ing. Freddy Infantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Métodos Abstractos
Los métodos abstractos se caracteriza porque que no tienen implementación y
son necesariamente implementados en las SubClases.
•
Sintaxis:
public abstract tipoRetornoNombreMétodo([Lista Parámetros]);
•
Ejemplo:
public abstract double calcularArea();
Nota:
No pueden llevar el modificador abstract:
- Constructores.
- Métodos estáticos.
- Métodos privados.
Ing. Freddy Infantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Compatibilidad de asignación
•
Tipos Primitivos:Una variable primitiva puede ser asignado a una variable de un tipo de dato
diferente.
•
Tipos de Referencia:
Variable de referencia cuyo tipo equivale a la clase de la cual el objeto fue
instanciado.
Circulo c = new Circulo(15);
Variable de referencia cuyo tipo es una superclase de la clase de la cual el objeto
fue instanciado.
Figura c = new Circulo(15);
//Compatibilidad
Ing.Freddy Infantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012
Casting(Conversión de Tipos)
Es la conversión de tipos y se realiza de las sgts formas:
• Conversión implícita:
- Cuando la conversión es automática y se da por defecto.
• Conversión Explicita:
- Cuando se fuerza la conversión, con el operador cast.
- Secoloca el nombre del tipo que se desea convertir entre paréntesis.
1. Conversión de tipos primitivos:
Ejm:
float
a;
double b;
//Conversión implícita
a = 5.4;
=>
b=a
//Conversión explícita
b = 7.855;
=>
a = (float) b
Ing. Freddy Infantes Quiroz
UPAO : Escuela de Ingeniería de Computación y Sistemas
Curso: Programación Orientada a Objetos
Ciclo : 2012Casting(Conversión de Tipos)
2. Conversión de tipos de referencias:
Upcasting:
Cuando se realiza la conversión en una jerarquía de clases, de las subclases en
dirección a la superclase. (Generalización)
Ejm:
Un Circulo es un Obj del mismo tipo de la superclase Figura
Figura
:Figura
:Circulo
f;
Caso1: f = new Circulo() //Upcasting
:Rectángulo
Figura f;
Circulo c;
Caso2: c = new...
Regístrate para leer el documento completo.