Paradigmas de la POO
1. Abstracción:
Visión de un problema que extrae la información
esencial para un determinado propósito, omitiendo
los detalles menos significativos.
Puede existir diferentes niveles de abstracción.
Existe dos tipos:
– Funcional
– De datos
Un objeto es una abstracción de la realidad
Es un agrupamiento bajo un mismo nombre
de la información y las operaciones que acceden
a ella Materializa la abstracción. Los objetos son
encapsulaciones de abstracciones.
Paquete de información y operaciones.
3. Ocultamiento de la Información
Principio por el cual solo es accesible el interfaz
del objeto.
Los métodos no son utilizados por su
implementación (contenido), sino por su interfaz
(aspecto).
Concepto complementado con el de
encapsulamiento.
Objetivo final: Restringir el acceso a los métodos.
En java se consigue gracias a los modificadores
de acceso.
Estos pueden afectar a la clase, a los atributos
y/o métodos.
Modificadores:
– public: Objetos de todas las clases pueden acceder al
método con este modificador.
– protected: Sólo objetos de las clases heredadas y las
del paquete.
– (defecto): Sólo objetos de las clases del paquete.
– private: Sólo objetos de la misma clase.
La herencia permite crear una clase nueva que
tenga el mismo comportamiento que otra, y
además extienda o adapte ese comportamiento a
unas necesidades específicas.
Permite especializar o refinar una clase, y/o
generalizar conceptos de otras clase ya existentes.
En la especialización, la nueva clase creada
tomará o heredará los atributos y métodos de la
clase padre, los cuales se añadirán a los definidos
por la propia clase.
Ejemplo:
class Reloj
{
//atributos
static String MARCA; //atributo de clase
String hora; //Tomamos un tipo
String para simplificar
String dia; //idem
int numSerie;
//métodos
..............
}
class RelojCrono extends Reloj
{
//atributos
int cronoHora;
int cronoMin;
int cronSeg;
//métodos
..............
}
4.1 Herencia Múltiple
Se da este concepto cuando una clase hereda de
varias superclases. La mayoría de los lenguajes no soportan esta característica.
Consiste en utilizar un mismo símbolo para fines
distintos.
Respuesta distinta frente a un mensaje
dependiendo de la naturaleza del objeto.
5. Polimorfismo
- Consiste en utilizar un mismo símbolo para fines distintos.
- Respuesta distinta frente a un mensaje dependiendo de la naturaleza del objeto.
- Supongamos que tenemos relojes, uno analógico y otro digital. Cada reloj tiene un método para adelantar una hora. No tiene ningún sentido que si los dos hacen lo mismo (cada uno a su manera), se tenga que llamar con nombres distintos. Cada vez que invoquemos el método adelantarHora de cada reloj, cada uno lo hará a su manera.
- Tenemos distintos objetos gráficos (cuadrados, circunferencias, triángulos,...) y todos tienen un método pintar. Cuando yo lance un mensaje sobre cada objeto invocando el método pintar, cada uno se pintará a su manera.
No hay comentarios:
Publicar un comentario