Upload
whaleejaa
View
9.880
Download
1
Embed Size (px)
Citation preview
Elementos básicos de la programación orientada a
objetos
M.C. Mario Alberto Gómez Rodríguez
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.
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, ...
¿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
¿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()
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.
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
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
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
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
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
Construcción de un objeto:
Objeto
Definir componentes
Ensamble de componentes
Objeto final
Objeto y sus componentes:
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
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
Ejemplo: Instanciación de una clase
NomClase nomReferencia = new NomClase(param);Tarjeta tarjetaDebito = new Tarjeta( );
Clases, instancias y objetos
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.
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.
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.
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
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.
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
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)
Abstracción
➢Abstraer es suprimir u ocultar algunos detalles de un proceso o de un elemento, para resaltar algunos aspectos, detalles o estructuras.
¿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
Entorno de ejecución Java
Fuentes Java
Herramientas (javac)
Bytecode
Sistema de ejecución Java API
Máquina Virtual
Sistema Operativo
Hardware
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
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
Conceptos básicos de Java
En Java todo es un objeto.– A excepción de los tipos de datos primitivos.
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
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
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
Proceso de codificación/implementación
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