Subido por Descar gandose

presentacion-tema-i-unidad-ii

La Programación Orientado a Objetos
Objetivo
Describir el Paradigma de Orientación a
Objetos incluyendo los conceptos
relacionados al análisis, diseño y
programación

Paradigmas de Programación
Hay para todos los gustos









Estructurados (C, Pascal, Basic, etc.)
Funcionales (CAML)
Declarativos (Prolog)
Orientados a Objetos (C#, VB.NET, Smalltalk, Java)
Orientados a Aspectos
Híbridos (Lisp, Visual Basic)
Incomprensibles....
Cada enfoque tiene sus ventajas y desventajas
Cada uno es más apropiado para ciertas cosas
Introducción a la Programación Orientado a
Objetos (POO).

Significado de Orientado a Objetos
-El significado de Orientado a Objetos nace como un conjunto de
practicas que definen un estilo de programación.
- Los seres humanos perciben el mundo como si estuviera formado
por objetos: mesas, sillas, computadoras, coches, cuentas
bancarias, etc. Donde conciente o inconscientemente tienden a
organizarlos, clasificarlos, relacionarlos entre si, y hasta extraen las
características más importantes dependiendo de lo que quieren
hacer con ellas.
Programación Orientada a
Objetos

Definición:
La POO es un estilo de programación, donde todos los
elementos que forman parte del problema se conciben como
objetos, definiendo cuales son sus atributos y comportamiento,
como se relacionan entre sí y como están organizadas.
Estructura Interna de un Objeto:
Atributos: Define el estado del objeto
Métodos: Define el comportamiento del objeto
¿Qué es un Objeto?

Definición Formal (Rumbaugh):


“Un objeto es un concepto, abstracción o cosa
con un significado y límites claros en el
problema en cuestión”
Un objeto posee (Booch):



Estado
Comportamiento
Identidad
Las clases y los objetos están en todas partes
Figura
Vehículo
Animal
El mundo color de Objetos

¿Por qué Orientación a Objetos (OO)?





Se parece más al mundo real
Permite representar modelos complejos
Muy apropiada para aplicaciones de negocios
Las empresas ahora sí aceptan la OO
Las nuevas plataformas de desarrollo la han
adoptado (Java / .NET)
Un objeto posee Estado




Lo que el objeto sabe
El estado de un objeto es una de las
posibles condiciones en que el objeto
puede existir
El estado normalmente cambia en el
transcurso del tiempo
El estado de un objeto es implementado
por un conjunto de propiedades
(atributos), además de las conexiones que
puede tener con otros objetos
Un objeto posee Comportamiento




Lo que el objeto puede hacer
El comportamiento de un objeto determina
cómo éste actúa y reacciona frente a las
peticiones de otros objetos
Es modelado por un conjunto de mensajes
a los que el objeto puede responder
(operaciones que puede realizar)
Se implementa mediante métodos
Un objeto posee Identidad

Cada objeto tiene una identidad única,
incluso si su estado es idéntico al de
otro objeto
¿Qué es una Clase?

Una clase es una descripción de un grupo
de objetos con:





Propiedades en común (atributos)
Comportamiento similar (operaciones)
La misma forma de relacionarse con otros
objetos (relaciones)
Una semántica en común (significan lo mismo)
Una clase es una abstracción que:


Enfatiza las características relevantes
Suprime otras características (simplificación)
Objetos y Clases

Una clase es una definición abstracta de un
objeto



Define la estructura y el comportamiento compartidos
por los objetos
Sirve como modelo para la creación de objetos
Los objetos pueden ser agrupados en clases
Ejemplo de una Clase


Clase: Curso
Estado (Atributos)






Nombre
Ubicación
Días Ofrecidos
Horario de Inicio
Horario de Término
Comportamiento (Métodos)




Agregar un Alumno
Borrar un Alumno
Entregar un Listado del Curso
Determinar si está Completo
Clases

Concepto
Generalmente, una clase se puede definir como una descripción
abstracta de un grupo de objetos, cada uno de los cuales tiene
una serie de atributos, un estado específico y es capaz de
realizar una serie de operaciones.



Atributos
Operaciones
Comportamiento
Lavadora
marca
modelo
capacidad...
Programar
PonerRopa
CerrarPuerta
Lavar
Terminología de la POO










Clase
Objeto
Atributos
Métodos
Instancia
Abstracción
Encapsulamiento
Modularidad
Jerarquía
Generalización









Herencia
Asociación
Agregación
Polimorfismo
Constructor
Destructor
Miembro Público
Miembro Privado
Miembro Protegido
Terminología de la POO


Abstracción: La abstracción es la capacidad que
permite representar las características esenciales de
un objeto sin preocuparse de las restantes
características (no esenciales).
Encapsulamiento: Es la propiedad que permite
asegurar que los aspectos externos de un objeto se
diferencie de sus detalles internos.
Terminología de la POO

Modularidad: La modularidad es
permite dividir una aplicación
pequeñas ( llamadas módulos ),
cuales debe ser tan independiente
la propiedad que
en partes más
cada una de las
como sea posible
de la aplicación en si y de las restantes partes.

Jerarquía: Es una clasificación u ordenación de las
abstracciones.
Terminología de la POO


Generalización: Una clase que comparte atributos y
métodos similares con otras clases se le llama
superclase o clase padre. Cuando definimos una
clase padre estamos generalizando.
Herencia: Del mismo modo, cuando definimos una
clase a partir de una clase padre estamos creando
una subclase. La definición de una subclase se le
denomina herencia.
Terminología de la POO


Asociación: Una asociación es una relación
semántica entre objetos. Cuando un objeto accede a
los atributos y métodos de otro objeto estamos
definiendo una asociación entre ellos.
Agregación: La agregación es una relación que
define que un objeto es parte de otro objeto. Cuando
definimos que un objeto tiene como atributo otro
objeto decimos que es una agregación. A través de la
agregación se definen objetos compuestos.
Terminología de la POO



Polimorfismo: Es el mecanismo de definir un
mismo método en varios objetos de diferentes clases
pero con distintas formas de implementación.
Constructor: Es un método que se invoca cuando
un objeto es construido
Destructor: Es un método que se invoca cuando un
objeto es destruido.
Terminología de la POO



Miembro Público: Atributo o método de una clase
que puede ser accesado desde cualquier parte del
programa.
Miembro Privado: Atributo o método de una clase
que puede ser accesado solo dentro de esa clase.
Miembro Protegido: Atributo o método de una
clase que puede ser accesado desde esa clase y sus
clases heredadas.
EJERCICIO



Describa dos clases y tres objetos por
cada clase.
Realice el siguiente ejercicio teniendo
en cuenta la metodologi POO
Hacer un programa que al dar la hora
(hh, mm, ss), muestre la hora después
de 2 horas, 10 minutos y 20 segundos.