programación orientada a objetosecaths1.s3.amazonaws.com/programacionunse/1893391127.prog...en el...
Post on 18-Mar-2018
220 Views
Preview:
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