Elementos básicos de la programación orientada a objetos.
1. Elementos básicos de la
programación orientada a
objetos
M.C. Mario Alberto Gómez Rodríguez
2. Paradigma de programación
●
Colección de conceptos que guían el proceso de
construcción de un programa, determinando su
estructura.
●
Estos conceptos controlan la forma en que pensamos y
formulamos los programas.
3. Paradigma de programación
Un lenguaje de programación refleja un
paradigma.
PARADIGMA LENGUAJE
• Imperativo C, Pascal, Cobol, ...
• Funcional Lisp, Hope, Miranda, ...
• Lógico Prolog, Parlog, ...
• Orientado a Objetos Smalltalk, C++, Eiffel, Java, ...
4. ¿Qué es la Orientación a Objetos?
El software se organiza como una colección de
objetos que contienen tanto estructura como
comportamiento.
Un sistema OO funciona mediante la colaboración entre
los objetos que se comunican entre sí.
Los elementos que forman los sistemas del mundo real
se corresponden con objetos software.
4
5. ¿Qué es el desarrollo OO?
Una nueva forma de pensar acerca del software
basándose en abstracciones que existen en el mundo
real.
Bombilla
color
encender()
apagar()
6. Orientado a Objetos
La POO difiere de la programación procedural porque
ésta enfatiza la secuencia de pasos codificados para
resolver un problema, mientras que la POO hace
énfasis en la creación e interacción de objetos.
7. Conceptos básicos: Clases
Las clases son abstracciones que representan a un
conjunto de objetos con un comportamiento e interfaz
común.
Una clase no es más que una plantilla para la
creación de objetos.
Plantilla que describe la forma en que están
estructurados internamente una familia de objetos.
7
8. Conceptos básicos: Clases
Cuando se crea un objeto (instanciación) se ha de especificar de
qué clase es el objeto instanciado, para que el compilador comprenda
las características del objeto.
Los objetos de la misma clase tienen la misma definición de sus
operaciones y de su estructura de información
9. Conceptos básicos: Clases
Una clases esta formada por:
Atributos: variables int, float, double , char, etc.
Almacenan el estado actual de un objeto
Métodos: public void cambiarColor (String nuevoColor){}
Definen el comportamiento de un objeto
Modifican los atributos
Lavadora
marca
Punto Atributos modelo
x,y: float capacidad: integer
Métodos ...
trasladar(a,b) Programar
distancia(pto)
PonerRopa
CerrarPuerta
Lavar
10. Estructura de una clase en Java
HelloWorld.java
public class HelloWorld {
private String world; Atibuto
public HelloWorld( ) {
world = "World!!!";
}
Métodos
public void imprime( String hello ) {
System.out.println( hello + world );
}
}
10
11. Conceptos básicos: Objetos
Entidad que es capaz de almacenar su estado
(información) y que posee un conjunto de operaciones
(que definen su comportamiento) que permiten
examinar o modificar su estado.
Los objetos son instancias de una clase
14. Las clases y los objetos están en todas partes
Vehículo
Burro:Animal
Animal
Punto
Figura (1,3)
(5,2.5)
(2,2)
(2,1)
14
15. Conceptos básicos: Objetos
Un objeto consta de :
Tiempo de vida
Espacio de memoria asignado a través de la instanciación
Estado: Mantenido por sus atributos; Define las propiedades
del objeto y el estado en que se encuentra en un momento
determinado de su existencia.
Se pueden manipular los atributos/métodos para modificar
su estado:
miObjeto.cambiarColor(“Rojo”);
ID:Lavadora
marca=“Lapava”
capacidad=5
estado=centrifugando
16. Ejemplo: Instanciación de una clase
NomClase nomReferencia = new NomClase(param);
Tarjeta tarjetaDebito = new Tarjeta( );
18. Identificando objetos
Los objetos pueden ser físicos o conceptuales:
Una cuenta de cliente es un ejemplo de un objeto
conceptual porque no se puede tocar físicamente.
Un cajero automático es algo que mucha gente toca todos
los días y es un ejemplo de un objeto físico.
19. Identificando objetos
Los objetos tienen atributos (características):
Tal como: tamaño, nombre, color, forma, etc.
Los valores de los atributos son referidos como el estado
actual del objeto.
Por ejemplo, un objeto puede tener un atributo color con el
valor de rojo.
20. Identificando objetos
Los objetos tienen operaciones (las cosas que
pueden hacer):
Tal como asignar un valor, desplegar una pantalla o
incrementar rapidez.
Las operaciones usualmente afectan los atributos de los
objetos.
21. Objeto
Cosas tangibles: Estudiantes, Persona, Vehículo, producto, …
Papeles que representa: Agente, profesor, vendedor, ...
Eventos: Aterrizaje, Suspensión, Ventana, Devolución, ...
Interacción: Préstamo, Matrícula, Registro Público, ...
Organizaciones: Financiera, Sindicato, ...
Conceptos: Proyecto, Materia, ...
Localizaciones: Punto de Venta, Bodega, Oficina, ...
Visibles en la interfaz: Icono, Imagen, Ventana, ...
Dispositivos: Sensor, Lector de Tarjeta, Teclado, Pantalla, ...
22. OBJETO = ESTADO +
MÉTODOS
ESTADO Métodos
Conjunto de valores Definen el
que pueden tomar comportamiento de
los atributos de un un objeto.
objeto. Envían y reciben
Condición actual del mensajes hacia otros
objeto. objetos.
Varía dinámicamente
(con el tiempo).
No es accesible/
modificable desde
afuera.
23. Proceso de creación de objetos
Clase Silla Instanciar Objetos Silla
clase Silla
silla_1
;
a( )
Sill
= new
a_1
a sill
Sill
Silla silla_2 = new Silla( );
silla_2
Silla
silla
_ 3=
new
Silla
( );
public class Silla {
private String color; silla_3
public void asignarColor(String col) {
color = col;
}
}
24. Programas
➢
Una aplicación (un programa) se compone de:
➢
Una serie de clases
➢
De las cuales se crean una serie de instancias
(objetos)
➢
Que interactúan entre sí enviándose mensajes
(llamando a los métodos de los objetos)
25. Abstracción
➢
Abstraer es suprimir u ocultar algunos detalles de
un proceso o de un elemento, para resaltar algunos
aspectos, detalles o estructuras.
26. ¿Qué es Java?
➢
Lenguaje de programación orientada a objetos.
➢
La plataforma Java esta constituida por:
➢
Lenguaje de programación Java.
➢
Conjunto de bibliotecas estándar (Java APIs).
➢
Conjunto de herramientas para el desarrollo de
programas:
➢
Compilador a código-byte (javac)
➢
Generador de documentación (javadoc).
➢
Ejecución de programa (intérprete del
código-byte (java)).
➢
Entorno de ejecución cuyo principal elemento
es la máquina virtual para ejecutar el código-
byte
27. Entorno de ejecución Java
Fuentes Java
Herramientas (javac)
Bytecode
Sistema de ejecución Java API
Máquina Virtual
Sistema Operativo
Hardware
28. Ejecución de un programa en Java
➢
Java es independiente de la plataforma.
➢
Plataforma: conjunto de hardware (computadora con su
procesador) y sistema operativo.
Editor
Programa fuente
Archivo.java
Compilador javac Archivo.java
Bytecode
Archivo.class
Intérprete java Archivo
29. Conceptos básicos de Java
Uno de los principales objetivos de Java es crear
objetos, piezas de código autónomo, que puedan
interactuar con otros objetos para resolver un
problema.
30. Conceptos básicos de Java
En Java todo es un objeto.
– A excepción de los tipos de datos primitivos.
31. Conceptos básicos de Java
Aspectos importantes:
•Sensible a mayúsculas y minúsculas
•HolaMundo.java Holamundo.java
•variableEdad variableedad
•NO caracteres NO estándares (á, é, í, ñ, etc.)
•Separador “;”
•Comentarios // y /* */
•Palabras reservadas en minúsculas
•Nombres
•Clases: primer letra en mayúscula
•Atributos y métodos: primer letra en minúscula
32. Conceptos básicos de Java
Aspectos importantes:
•Extensión “.java”
•HolaMundo.java
•MinimosCuadrados.java
•Nombre clase idéntico al nombre archivo
•Extensión “.class”
•HolaMundo.class
•MinimosCuadrados.class
•javac (+ NombreArchivo.java)
•javac HolaMundo.java
•Generación bytecode
•Ejecución de programas
•java HolaMundo
33. Conceptos básicos de Java
Puntos a tener en cuenta:
•Pensar en “clases”
•Programa = una sola clase o muchas clases
•Una de las clases contiene el método main( ):
•public static void main( String args[] ) { … }
•El método main inicia la ejecución de todo el programa
•Un método = procedimiento, subrutina, función
•Dentro de una clase se pueden crear o invocar a otras
clases
•Todo objeto esta definido por una clase
•Organizar clases en paquetes
35. Repaso estructuras de
selección/control y arreglos
Estructuras de selección :
•If
•If-else
•Switch
•case
Estructuras de control :
•while
•do-while
•for
•Uso de:
•break
•continue