elementos básicos de la programación orientada a objetos

35
Elementos básicos de la programación orientada a objetos M.C. Mario Alberto Gómez Rodríguez

Upload: whaleejaa

Post on 13-Jun-2015

9.887 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Elementos básicos de la programación orientada a objetos

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

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

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

¿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

¿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

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

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

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

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

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

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

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

Objeto y sus componentes:

Page 14: Elementos básicos de la programación orientada a objetos

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

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

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

Clases, instancias y objetos

Page 18: Elementos básicos de la programación orientada a 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.

Page 19: Elementos básicos de la programación orientada a objetos

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

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

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

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

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

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

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

¿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

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

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

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

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

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

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

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

Proceso de codificación/implementación

Page 35: Elementos básicos de la programación orientada a objetos

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