POO Java
POO Java
ORIENTADA A OBJETOS
(POO)
Anahí Salgado
@anncode
Programación Orientada a
Objetos
Anahí Salgado
@anncode
Programación Orientada a
Objetos
Anahí Salgado
@anncode
Programación Orientada a
Objetos
Definir un Dominio del Problema
PROBLEM DOMAIN
Fijarnos en el
escenario del problema
y tratar de simularlo con objetos
Anahí Salgado
@anncode
Programación Orientada a
Objetos
Anahí Salgado
@anncode
Programación Orientada a
Objetos
• Diseñando un modelo de Clase
Anahí Salgado
@anncode
Programación Orientada a
Objetos
• Clase Vehiculo
atributos:
• matricula
• marca
• modelo
• año
comportamiento:
• arrancar
• frenar
• reversa
Anahí Salgado
@anncode
Tipos Datos Objeto
Byte
Short
Integer
Long
Float
Double
Characer
Boolean
String
Anahí Salgado
@anncode
Variables ≠ Objetos
Anahí Salgado
@anncode
CODIGO
Anahí Salgado
@anncode
Declaración de métodos
• Una declaración de un método es un elemento de
código en Java que:
Anahí Salgado
@anncode
Declaración de métodos
Anahí Salgado
@anncode
Constructor
• Un constructor es un conjunto se sentencias que:
– Crea nuevas instancias de una clase.
– Tiene el mismo nombre que la clase que inicializa.
– Usa la palabra reservada new para invocarlo.
– Usa cero o más argumentos contenidos dentro de
los paréntesis que siguen al nombre.
– No regresa un valor.
Anahí Salgado
@anncode
Getters y Setters
• Un conjunto de métodos se crean por lo
general en una clase para leer/escribir
específicamente los valores de las variables
miembro.
Anahí Salgado
@anncode
List
• Una list es una interfaz del framework de
collections de Java que:
– Contiene datos en un orden definido y
puede tener elementos duplicados.
– Tiene implementaciones generales de
ArrayList, LinkedList y Vector.
– Requiere del paquete java.util
– Almacena elementos por medio de un
índice entero, iniciando con cero.
– Extiende a la interfaz Collection.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Métodos de la interfaz list
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Clases que implementan la
interfaz List
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Clases que implementan la
interfaz List
• La clase ArrayList almacena un arreglo que
puede cambiar de tamaño, tiene una
capacidad especifica que crece
automáticamente.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Clases que implementan la
interfaz List
• Un vector es similar a un array, la
diferencia estriba en que un vector crece
automáticamente cuando alcanza la
dimensión inicial máxima.
• Además, proporciona métodos
adicionales para añadir, eliminar
elementos, e insertar elementos entre
otros dos existentes.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Clases que implementan la
interfaz List
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
¿Cómo obtener datos de un List?
• La interfaz List provee de múltiples
formas para la obtención de datos. El
método más común para obtener los
datos es get. Este método permite
obtener un elemento de una lista por
medio de un índice.
• miLista.get(i);
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Extendiendo una clase
Anahí Salgado
@anncode
Herencia
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Herencia
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Subclase y Súper Clase
• Una subclase es una clase que:
– Hereda de una súper clase.
– Es declarada con la palabra reservada extends
– Puede acceder miembros de la súper clase con
el mismo nombre con la palabra super y la
notación punto.
– Se debe tener una implementación de los
métodos de la superclase y constructores en su
cuerpo.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Sobreescritura de constructores
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Miembros heredados en la
subclase
• Una subclase hereda todos los miembros
de su súper clase que están declarados
como public o protected.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Sobreescritura de constructores
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Polimorfismo
Anahí Salgado
@anncode
Implementando Interfaces
• En Java una interface es una clase
abstracta pura, es decir una clase donde
todos los métodos son abstractos (no se
implementa ninguno).
Anahí Salgado
@anncode