domingo, 21 de septiembre de 2008

Características de la POO

  • Herencia: Contribuye a la reutilización de código. La Herencia va representada con la ---> y esta va apuntando la clase base. A <--- B <--- C

Ejemplo:

Clase Base Clase Derivada

Figura Geométrica (Base - Altura) Triángulo - Rectángulo - Cuadrado

Las clases no están aisladas sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

  • Polimorfismo: Capacidad que tiene un objeto de comportarse de formas diferentes en una misma situación.

Ejemplo: Compañero es una instancia de la clase Humano

**** Cuatro técnicas nos ofrecen que el contenido siendo diferente, el nombre del método es el mismo; Herencia - Interfaz - Sobrecarga de Métodos - Sobreescritura de Métodos ****

Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica.

  • Interfaz: Una interface es un contrato que se tiene que cumplir por parte de la clase que la implementa

Ejemplo: A <---- B

(base) (derivada) B derivada de A

Interface (QUE) Clase (COMO)

Conceptos Fundamentales



La Programación Orientada a Objetos es una forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos, entre ellos:
  • Clase: Es una plantilla o molde que define las características (propiedades) y comportamientos (método de los objetos).


Ejemplo: Humano - Animal - Estudiante - Empleado - Vehículo



  • Objeto: Es una instancia de una clase que consume recursos y tiene un periodo de vida determinado.

  • Propiedad: Es la característica de un objeto de un objeto que almacena un tipo de dato determinado


Ejemplo: Estudiante (nombre de la clase)

Código - Nombre - Sexo - Edad (propiedades)



  • Método: Es una acción que puede ser ejecutada por el objeto. Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
Ejemplo: Matricular - Asistir - Cancelar materia (métodos).


¿ Qué es Programación Orientada a Objetos ?


La Programación Orienta a Objetos (POO), Es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computación. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo, y encapsulamiento. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.