Sesión Nº 03:
Clases abstractas
Encapsulamiento e Interfaces
PROGAMACION ORIENTADA A OBJETOS
Ejemplo de clases abstractas
Ejemplo…
INTERFACES
Es una clase completamente abstracta sin
implementación.
Se declara con la palabra reservada interface.
En la declaración de interfaces lo único que puede
aparecer son las declaraciones de métodos (sin
implementación) y/o definiciones constantes.
Java indica que una clase implementa una interfaz
usando la palabra reservada implements.
La clase debe implementar todos los métodos
definidos en la interfaz.
INTERFACES
Una interfaz define un tipo de Datos
Contenido de una Interfaz.
Nombre de atributos y visibilidad.
Eventuales otras interfaces extendidas
Declaración de métodos
Constantes (Declaradas como static final)
Una interfaz no provee:
Variables de instancia o de clase
Implementación de métodos
Son útiles cuando una clase debe usar obkjetos de
distintas clases, pero que operan dela misma
forma.
Declaración de una interface
interface nombre_de_interfaz {
Tipo_de_retorno Nombre_del_metodo1 (lista de parametros);
Tipo_de_retorno Nombre_del_metodo2 (lista de parametros);
...
tipo variable_final1 = valor_constante;
tipo variable_final2 = valor_constante;
...
}
Ejemplo
interface Animal{
class Perro implements Animal{
public void comer();
pubic int respirar();
} public void comer(){
//definimos cómo come el perro
}
public int respirar(){
//definimos cómo respira el perro
}
public String ladrar(){
//definimos un método exclusivo del
perro
}
}
11
Declarar constantes dentro de
interfaces:
interface MiInterfaz{
static final int CONST = 12;
public void hacerAlgo();
}
class MiClase implements MiInterfaz{
public void hacerAlgo {
CONST = 14; //al llegar a esta línea aparecerá el error
}
}
La Herencia múltiple es conocida
como Interfaces
interface Agua{
public void lavar();
}
interface Fuego{
public void encender();
}
public class Elementos implements Agua, Fuego {
……………………………
}
14
15
16
17
18
19
20
ENCAPSULAMIENTO
Java, como lenguaje orientado a objetos puro que es, implementa la
encapsulación (o encapsulamiento) perfectamente.
Este concepto consiste en la ocultación del estado, o lo que es lo
mismo, de los datos miembro de un objeto, de forma que sólo es
posible modificar los mismos mediante las operaciones (métodos, en
Java) definidos para dicho objeto.
Cada objeto está aislado del exterior, de forma que la aplicación al
final es un conjunto más o menos extenso de objetos que
colaboran entre sí mediante el paso de mensajes entre ellos, es
decir, mediante la invocación de sus operaciones o métodos.
De esta forma, los detalles de implementación permanecen "ocultos"
a las personas que usan las clases, evitando así modificaciones o
accesos indebidos a los datos que almacenan las clases.
Además, el usuario de la clase no se tiene que preocupar de cómo
están implementados los métodos y propiedades, concentrándose
sólo en cómo debe usarlos.
21
Suponga que se tiene la clase Persona con atributos protegidos
como código, nombres y edad
22
Para encapsular
los campos
seleccione la
clase con el botón
derecho
seleccione la
opción Refactor
(Reestructurar) y
luego seleccione
Encapsulate
Fields
(Encapsular
campos)
23
Y a continuación selecciones todas los checks para crear los getter y los
setter de las atributos de la clase Persona y presione el boton Refactor
24
Los métodos
getter y setter se
crean al final de la
clase y siempre a
parecen con
comentarios y
note la
característica que
los atributos
pasaron de ser
protegidos a
privados (private)
25
Dándoles una mejor distribución
26