100% encontró este documento útil (1 voto)
131 vistas

POO Java

El documento presenta una introducción a la programación orientada a objetos. Explica que POO implica descomponer un problema en subproblemas y objetos. Describe los conceptos básicos de POO como identificar objetos y sus atributos y comportamientos, diseñar clases como plantillas de objetos, y usar herencia para extender clases existentes.

Cargado por

adonis hernandez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
131 vistas

POO Java

El documento presenta una introducción a la programación orientada a objetos. Explica que POO implica descomponer un problema en subproblemas y objetos. Describe los conceptos básicos de POO como identificar objetos y sus atributos y comportamientos, diseñar clases como plantillas de objetos, y usar herencia para extender clases existentes.

Cargado por

adonis hernandez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 38

PROGRAMACIÓN

ORIENTADA A OBJETOS
(POO)

Anahí Salgado
@anncode
Programación Orientada a
Objetos

Una nueva forma de pensar

Anahí Salgado
@anncode
Programación Orientada a
Objetos

Se trata de descomponer el problema


en subproblemas y más
subproblemas

Anahí Salgado
@anncode
Programación Orientada a
Objetos
Definir un Dominio del Problema
PROBLEM DOMAIN

Recopilación de requisitos del cliente y


tener por escrito un alcance

¿Qué queremos lograr?


Anahí Salgado
@anncode
Programación Orientada a
Objetos

Fijarnos en el
escenario del problema
y tratar de simularlo con objetos

Anahí Salgado
@anncode
Programación Orientada a
Objetos

Identificar mis objetos


•  Pueden ser Físicos o Conceptuales
•  Los objetos tienen atributos (características)
•  tamaño
•  nombre
•  forma
•  representan el estado del objeto
•  Los objetos tienen operaciones (las cosas
que puede hacer el objeto)
Anahí Salgado
@anncode
Programación Orientada a
Objetos
•  Los nombres de los objetos por lo general son
sustantivos
cuenta, cliente
•  Los atributos de los objetos también

•  Las operaciones suelen ser verbos o


sustantivo y verbo
mostar, Enviar Pedido
Anahí Salgado
@anncode
Programación Orientada a
Objetos
•  Vehiculo
atributos: comportamiento:
•  matricula •  arrancar
•  marca •  frenar
•  modelo •  reversa
•  año

Anahí Salgado
@anncode
Programación Orientada a
Objetos
•  Diseñando un modelo de Clase

•  Una Clase es la forma en como defines tu


objeto

•  Las Clases son descriptivas – plantillas

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

•  Variables son entidades •  Objetos son entidades


elementales (muy complejas que pueden
sencillas) estar formadas por la
agrupación de muchas
–  Un número variables y métodos.
–  Un carácter
–  Un valor verdadero
falso

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:

–  Consiste de cuatro partes: tipo de datos de regreso,


nombre, argumentos y cuerpo entre llaves.

mod. acceso valor regreso nombre argumentos

public int suma (int a int b)

Anahí Salgado
@anncode
Declaración de métodos

–  Tiene un valor de regreso explícitamente invocado


en su cuerpo usando la palabra reservada return.

–  No regresa ningún valor si es declarado void.

–  No puede declararse dentro de otro método.

public int suma(int a int b){


return a+b;
}
Anahí Salgado
@anncode
Control de acceso

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.

•  La sintaxis para llamarlo es:

TipoClase variable = new TipoClase(argumentos);

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.

•  Estos se llaman getters - se utilizan para


obtener los valores

•  Y setters - se utilizan para cambiar los valores


de las variables miembro.
Anahí Salgado
@anncode
Getters y Setters

•  Los getters y setters son cruciales en las


clases de Java, ya que se utilizan para
gestionar el estado de un objeto.

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

•  La implementación general de la interfaz


List son las clases ArrayList y Vector.

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.

ArrayList a = new ArrayList();


a.add("Lenguaje");
a.add(3);
a.add('a');
a.add(23.5);

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

•  En algunas circunstancias, es necesario


utilizar el estado y comportamiento de
una clase en conjunto con otras clases.

•  La jerarquía de herencia en java permite


tener esta opción al escribir código.

Anahí Salgado
@anncode
Herencia

•  Se establece una relación padre-hijo


entre dos objetos diferentes.

•  La idea de la herencia es permitir la


creación de nuevas clases basadas
en clases existentes.

Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Herencia

•  La herencia sirve para crear objetos


que incorporen propiedades y
métodos de otros objetos.
•  Así podremos construir unos objetos
a partir de otros sin tener que
reescribirlo todo.

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.

•  Los miembros heredados pueden tener


múltiples formas dentro de la subclase y
superclase, esto se conoce como
polimorfismo.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Sobreescritura de constructores
•  La sobreescritura de constructores es la
definición de un constructor en una
subclase usando los miembros
heredados de la superclase, con
argumentos diferentes.
•  Tu sobrescribes constructores
simplemente cambiando cualquier
argumento que sea necesario.
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Sobreescritura de constructores
•  El constructor de la subclase invoca al
constructor de la superclase.
•  Para ello se incluye, obligatoriamente, la
palabra clave super como primera línea
del constructor de la subclase.

•  La palabra super irá seguida de paréntesis


dentro de los cuales pondremos los
parámetros que requiera el constructor de la
superclase al que queramos invocar.

Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Sobreescritura de constructores

Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Polimorfismo

•  Posibilidad de construir varios métodos


con el mismo nombre, pero con relación
a la clase a la que pertenece cada uno,
con comportamientos diferentes.

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).

•  Permite al diseñador de clases establecer


la forma de una clase (nombres de
métodos, listas de argumentos y tipos de
retorno, pero no bloques de código).
Anahí Salgado
@anncode Ing. Anahí Salgado - @anncode
Java Básico
public class HolaMundo {
public static void main(String[] args) {
System.out.println(“Hola Mundo”);
}
}

Anahí Salgado
@anncode

También podría gustarte