miércoles, 21 de mayo de 2008

POO (Programación Orientada a Objetos)

El lenguaje orientado a objeto facilita a los programadores la posibilidad de cambiar el código de un programa, así como reutilizarlo, sin que repercuta en el resto del mismo. Esto también afecta positivamente al cliente que quiera modificar algo.
En definitiva, la POO nos permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.

Cuando creamos una clase, no trabajamos con ellas, sino que nos da la posibilidad de trabajar con objetos de dicha clase para así poder realizar tareas:

MiClase o = new MiClase();

Los objetivos de la POO son:
  • La posibilidad de reutilizar los códigos
  • Extensibilidad del código:
  • Modularidad del código: es la separación a través de p.e. paquetes dependiendo de su funcionalidad. Es una parte complicada de realizar.
  • Código robusto.
  • Código mantenible: que se pueda restablecer, en un momento dado, en un tiempo razonable.
Como he dicho, el trabajo lo realizan los objetos (dentro de un escenario de pruebas). Los objetos son entidades que combinan estado (son los atributos a los que se le asignan valores concretos: sus propiedades), comportamiento (está relacionado con lo que sus métodos pueden hacer, es decir, qué operaciones se pueden realizar con él) e identidad (es la propiedad que lo diferencia de los demás: su identificador).

¿Qué sabe hacer un objeto?


Teniendo como clase Producto y atributos 'stock' y 'nombre', existen dos métodos; una que sirve para cambiar el estado de nuestro objeto (método setter):

public void setStock(int x){
this.stock = x;
}

...y otra que sirve para hablar de sí misma mostrando su estado (método getter):

public int getStock(){
return stock;
}

...por último se pueden gestionar procesos (intercambio de mensajes): emplear vocabulario "envía mensaje",...

¿A quién conoce un objeto? ¿Con quién se puede comunicar?



¿Quién es el objeto y cuál es su estado? Identidad y estado



Un objeto/clase se relaciona con otros objetos/clases para así poder hacer su trabajo



Relaciones en el modelado/diseño orientado a objetos



Características de la POO
  • Abstracción:
  • Encapsulamiento:
  • Polimorfismo:
  • Herencia:

Principios de diseño de la Programación Orientado a Objetos
  • Principio de la única responsabilidad:
  • Principio abierto-cerrado:
  • Principio de substitución de liskov:
  • Principio de inversión de dependencia:
  • Principio de segregación de la interfaz:

No hay comentarios: