La Programación Orientado a Objetos Objetivo



Descargar 10,08 Kb.
Fecha de conversión08.06.2017
Tamaño10,08 Kb.

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)
  • Un objeto es una instancia de una clase

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 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.


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal