programación orientada a objetosecaths1.s3.amazonaws.com/programacionunse/1893391127.prog...en el...

Post on 18-Mar-2018

220 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ing. Analia Méndez – Ing. Raquel Zarco

Año: 2012

Estructura de datos y Programación / Programación I

Tema: Programación Orientada a Objetos

¿Qué es Programación Orientada a

Objetos (POO)? • Es un paradigma de programación que usa objetos y

sus interacciones, para diseñar aplicaciones y

programas informáticos.

• La Programación Orientada a Objetos permite describir

el problema en términos del problema y no en términos

de la computadora donde la solución será ejecutada.

• La Orientación a Objetos proporciona al programador

conceptos y herramientas para modelar y representar

elementos del espacio del problema a resolver.

• A los elementos del espacio del problema y sus

representaciones en el espacio de solución se los

denomina OBJETOS.

En el mundo real hay objetos y esos objetos tienen un tipo

o clase.

Por ejemplo: Modelizar un auto en POO

El auto es el elemento principal que tiene una serie de

características, como podrían ser el color, el modelo o la

marca. Además tiene una serie de funcionalidades.

En POO el auto sería el objeto, las propiedades serían las

características como el color o el modelo y los métodos

serían las funcionalidades asociadas como ponerse en

marcha o parar.

Propiedades del modelo objeto

son:

Abstracción

Encapsulamiento

Herencia

Polimorfismo

Abstracción Propiedad que permite representar las características

esenciales de un objeto.

Consiste en describir una entidad del mundo real y utilizar esta descripción en un programa. La generalización conceptual de los atributos y comportamiento de un determinado conjunto de objetos es la CLASE.

La clase se define como una descripción abstracta de un grupo de objetos, cada uno de los cuales se diferencia por su estado especifico y por la posibilidad de realizar una serie de operaciones. Por ejemplo: una lapicera es un objeto que tiene un estado (lleno o vacio) y sobre el cual se pueden realizar operaciones como escribir, poner/ quitar capuchón, etc.

Encapsulamiento y ocultamiento

Es la propiedad que permite asegurar que el contenido

de la información de un objeto esta oculta al mundo

exterior: el objeto A no conoce lo que hace el objeto B y

viceversa.

La información que cada objeto posee solo es accesible y

modificable por el mismo.

La clase representa la encapsulación de una abstracción.

Herencia Una clase puede tener sus propios atributos y

operaciones adicionales a lo heredado.

Las clases se disponen en una jerarquía, donde una clase

hereda todos los atributos y operaciones de las clases

superiores en la jerarquía.

Polimorfismo Es la propiedad que permite enviar el mismo mensaje a

objetos de diferentes clases , cada uno de ellos responde a

ese mismo mensaje de modo distinto dependiendo de su

implementación.

Ejemplo: polimorfismo implica tomar un objeto de un tipo

mamífero por ejemplo e indicarle que ejecute comer,

esta acción se ejecutara de forma diferente según sea el

objeto mamífero al que se aplica.

Ejemplo

Elementos fundamentales

Clase

Objeto

Mensaje

Atributo

Método

Instancia

Clase

Es un molde de objetos que tienen igual característica,

responden a los mismos mensajes y se comportan ante ellos

de la misma manera.

Los objetos : son instancias de la clase

Clase Perro objetos Pluto y Lasie

Nombre

AñoNac

Raza

Cant_patas

Pluto

1950

….

4

Lasie

1930

….

4

Objetos

Una entidad: cosa tangible y/o visible (camión)

Una transacción: Algo que puede comprenderse

intelectualmente. (proceso)

Una abstracción: una entidad software. (lista)

Características de un objeto

Un objeto tiene:

Identidad: un identificador unívoco.

Estado: un conjunto de propiedades (atributos).

Comportamiento: un conjunto de operaciones (métodos).

Objeto = Identidad + Comportamiento + Estado

Estructura de un objeto

Ejemplo Práctico

Ejemplo de clase y objeto

Clases vs. Objetos Clase:

Un patrón para la definición del estado y el comportamiento de un tipo particular de objetos.

Todos los objetos de una clase dada son idénticos en estructura y comportamiento, pero tienen identidad única.

Objeto (instancia):

Pertenece a una clase en particular

Los objetos son creados y destruidos en tiempo de ejecución. Residen en el espacio de memoria.

Instancia

Instancia es el término utilizado para referirse

a un objeto que pertenece a una clase

concreta.

Se dice que un objeto es la instancia de una

clase.

La acción de crear un objeto a partir de una

clase se llama instanciar.

Definición de atributo

Es una característica fundamental de cada objeto de una

clase.

Una clase puede definir un cierto número de atributos

estáticos.

Todos los atributos tienen algún valor. Este valor puede

ser una cantidad, una relación con otro objeto, etc…

Definición de método Es una acción que se realiza sobre un objeto para consultar o

modificar su estado.

Tipos de operaciones:

Modificador (setter): altera el estado de un objeto.

Selector (getter): accede al estado de un objeto sin alterarlo.

Iterador: permite acceder a todas las partes de un objeto.

Constructor: crea un objeto e inicializa su estado.

Destructor: limpia el estado de un objeto y lo destruye.

Propósito general: la lógica del programa

Mensaje Un Mensaje es la transmisión de información de un

objeto a otro.

Llamadas a métodos: un objeto A realiza una llamada a

un método de un objeto B.

Esto significa que dentro del código de un método de un

objeto A, se está llamando a un método del objeto B.

Esta es la forma más común del paso de un mensaje.

OBJETO A OBJETO B

Convoca al método

Devuelve el resultado

UML(Unified Modeling Languaje)

Es un lenguaje de modelado que ha sido diseñado para la

traducción de modelos de aplicaciones a lenguajes de

programación.

El análisis y diseño de una aplicación Orientada a Objetos

necesita de una notación grafica que represente los elementos

de la P.O.O.

El método mas utilizado es el UML.

Definición de Objeto por autores del UML

“Un objeto se caracteriza por un número de operaciones y un estado que

recuerda el efecto de estas operaciones”

Ivar Jacobson

“Un objeto tiene un estado, comportamiento e identidad; la estructura y

comportamiento de objetos similares se definen en sus clases comunes”

Grady Booch

“Una manifestación concreta de una abstracción; una entidad con una

frontera e identidad bien definidas que encapsulan estado y

comportamiento; una instancia de una clase”.

Jame Rumbaugh

Notación grafica de una clase

Ejemplo de una clase

Plataforma Java

Java fue diseñado por James Gosling, de Sun

Microsystems, en 1995. Es un lenguaje orientado a

objetos, independiente de la plataforma, por lo que

un programa hecho en Java se ejecutará igual en

un PC con Windows que en una PC basada en

Linux.

Para el desarrollo de programas que incluye varios

componentes que se interconectan entre si

utilizaremos Java EE (Java Platform, Enterprise

Edition) o J2EE — orientada a entornos

distribuidos empresariales o de Internet.

Para poder ejecutar cualquier aplicación Java en cualquier sistema operativo es

necesario tener instalado el JRE (Java RunTime Environment - Entorno de desarrollo

de Java). Se compone de herramientas necesarias como la máquina virtual de java

(java.exe) y el conjunto de librerías estándar de Java. El JDK incluye a JRE.

SDK (Software Development Kit - kit de software de desarrollo),a partir de la versión

1.2 de Java al JDK se le empezó a llamar de esta manera.

Desarrollo en Java

Fase 1: Edición: editar y crear un código (.java)

Fase 2: Compilación: editar y corregir errores.(.class)

Fase 3: Cargador de Clases

Fase 4: Verificación del ByteCode

Fase 5: Ejecución: el byte código es ejecutado por el

interprete de java(JVM) Maquina Virtual Java

Fase 6: Depuración: si el código no funciona correctamente

se ejecuta el programa paso a paso y examinar el efecto de las

instrucciones.

Entornos de Desarrollo (Interface Developement

Environment, IDE)

Java no cuenta con un entorno de desarrollo propio,

por esa razón, se puede utilizar desde un bloc de

notas hasta entornos de desarrollo avanzados como

NetBeans.

Netbeans es un poderoso entorno de desarrollo que

permite desarrollar aplicaciones complejas con

interacción web, UML, base de datos, aplicaciones

para telefonía móvil e inclusive Inteligencia Artificial

(IA).

NETBEANS 7.1 es un producto libre y gratuito sin

restricciones de uso.

EJERCICIOS

Determinar Atributos y Comportamientos para los objetos

PAGINA

AUTO

CUENTA BANCARIA

MATRIZ

FIGURA

Establecer la jerarquia de clases

Vehiculo. Camion. Auto. Colectivo. Sedan. Utilitario.

Fruta- manzana- pera- durzno-

top related