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

Post on 13-Jun-2015

9.885 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related