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
Vehículo
Animal
Figura
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
 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.
Clases
 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 la propiedad que
permite dividir una aplicación en partes más
pequeñas ( llamadas módulos ), cada una de las
cuales debe ser tan independiente 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.

presentacion-tema unidad de programacion

  • 1.
  • 2.
    Objetivo Describir el Paradigmade Orientación a Objetos incluyendo los conceptos relacionados al análisis, diseño y programación
  • 3.
    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
  • 4.
    Introducción a laProgramació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.
  • 5.
    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
  • 6.
    ¿Qué es unObjeto?  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
  • 7.
    Las clases ylos objetos están en todas partes Vehículo Animal Figura
  • 8.
    El mundo colorde 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)
  • 9.
    Un objeto poseeEstado  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
  • 10.
    Un objeto poseeComportamiento  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
  • 11.
    Un objeto poseeIdentidad  Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto
  • 12.
    ¿Qué es unaClase?  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)
  • 13.
    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
  • 14.
    Ejemplo de unaClase  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
  • 15.
     Concepto Generalmente, unaclase 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. Clases  Atributos  Operaciones  Comportamiento Lavadora marca modelo capacidad... Programar PonerRopa CerrarPuerta Lavar
  • 16.
    Terminología de laPOO  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
  • 17.
    Terminología de laPOO  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.
  • 18.
    Terminología de laPOO  Modularidad: La modularidad es la propiedad que permite dividir una aplicación en partes más pequeñas ( llamadas módulos ), cada una de las cuales debe ser tan independiente 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.
  • 19.
    Terminología de laPOO  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.
  • 20.
    Terminología de laPOO  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.
  • 21.
    Terminología de laPOO  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.
  • 22.
    Terminología de laPOO  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.
  • 23.
    EJERCICIO  Describa dosclases 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.