elementos básicos de la programación orientada a objetos
TRANSCRIPT
![Page 1: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/1.jpg)
Elementos básicos de la programación orientada a
objetos
M.C. Mario Alberto Gómez Rodríguez
![Page 2: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/2.jpg)
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.
![Page 3: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/3.jpg)
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, ...
![Page 4: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/4.jpg)
¿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
![Page 5: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/5.jpg)
¿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()
![Page 6: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/6.jpg)
Orientado a ObjetosOrientado 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.
![Page 7: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/7.jpg)
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
![Page 8: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/8.jpg)
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
![Page 9: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/9.jpg)
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 objetoModifican los atributos
Punto
x,y: float
trasladar(a,b)distancia(pto)
Atributos
Métodos
Lavadora
marcamodelocapacidad: integer...
ProgramarPonerRopaCerrarPuertaLavar
![Page 10: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/10.jpg)
public class HelloWorld {
private String world; Atibuto
public HelloWorld( ) { world = "World!!!"; }
public void imprime( String hello ) { System.out.println( hello + world ); }}
Estructura de una clase en Java
HelloWorld.java
10
Métodos
![Page 11: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/11.jpg)
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
![Page 12: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/12.jpg)
Construcción de un objeto:
Objeto
Definir componentes
Ensamble de componentes
Objeto final
![Page 13: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/13.jpg)
Objeto y sus componentes:
![Page 14: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/14.jpg)
Las clases y los objetos están en todas partes
14
Vehículo
Punto
Figura
Animal
(1,3)
(2,2)
(2,1)
(5,2.5)
Burro:Animal
![Page 15: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/15.jpg)
Conceptos básicos: Objetos
Un objeto consta de :Tiempo de vidaEspacio de memoria asignado a través de la instanciaciónEstado: 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=5estado=centrifugando
![Page 16: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/16.jpg)
Ejemplo: Instanciación de una clase
NomClase nomReferencia = new NomClase(param);Tarjeta tarjetaDebito = new Tarjeta( );
![Page 17: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/17.jpg)
Clases, instancias y objetos
![Page 18: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/18.jpg)
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.
![Page 19: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/19.jpg)
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.
![Page 20: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/20.jpg)
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.
![Page 21: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/21.jpg)
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, ...
Objeto
![Page 22: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/22.jpg)
OBJETO = ESTADO + MÉTODOS
ESTADO Conjunto de valores
que pueden tomar los atributos de un objeto.
Condición actual del objeto.
Varía dinámicamente (con el tiempo).
No es accesible/ modificable desde afuera.
Métodos Definen el
comportamiento de un objeto.
Envían y reciben mensajes hacia otros objetos.
![Page 23: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/23.jpg)
Clase Silla Objetos Silla
public class Silla { private String color; public void asignarColor(String col) { color = col; }}
Instanciar clase Silla
Silla silla_2 = new Silla( );
Silla silla_1 = new Silla( );
Silla silla_3 = new Silla( );
silla_1
silla_2
silla_3
Proceso de creación de objetos
![Page 24: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/24.jpg)
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)
![Page 25: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/25.jpg)
Abstracción
➢Abstraer es suprimir u ocultar algunos detalles de un proceso o de un elemento, para resaltar algunos aspectos, detalles o estructuras.
![Page 26: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/26.jpg)
¿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
![Page 27: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/27.jpg)
Entorno de ejecución Java
Fuentes Java
Herramientas (javac)
Bytecode
Sistema de ejecución Java API
Máquina Virtual
Sistema Operativo
Hardware
![Page 28: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/28.jpg)
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 fuenteArchivo.java
Compilador
BytecodeArchivo.class
Intérprete
javac Archivo.java
java Archivo
![Page 29: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/29.jpg)
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.
Conceptos básicos de Java
![Page 30: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/30.jpg)
Conceptos básicos de Java
En Java todo es un objeto.– A excepción de los tipos de datos primitivos.
![Page 31: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/31.jpg)
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
Conceptos básicos de Java
![Page 32: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/32.jpg)
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
Conceptos básicos de Java
![Page 33: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/33.jpg)
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
Conceptos básicos de Java
![Page 34: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/34.jpg)
Proceso de codificación/implementación
![Page 35: Elementos básicos de la programación orientada a objetos](https://reader034.vdocumento.com/reader034/viewer/2022042700/557b3d94d8b42a16488b51e2/html5/thumbnails/35.jpg)
Repaso estructuras de selección/control y arreglos
Estructuras de selección :•If•If-else•Switch
•caseEstructuras de control :•while•do-while•for•Uso de:
•break•continue