El documento presenta los fundamentos de la programación orientada a objetos, incluyendo los principios de generalización o abstracción, encapsulamiento, modularidad y jerarquía. Explica cada principio y las reglas para aplicarlos de manera que el software sea correcto, robusto, extensible y reutilizable.
5. Cambio de mentalidad Métodos Métodos Métodos Procedimiento 1 Procedimiento 2 Datos Datos Objeto Datos Objeto Datos Paradigma orientado a objetos: Paradigma tradicional: Objeto
6.
7.
8.
9. Principios y objetivos Encapsulamiento: Utilizamos los servicios de un objeto a través de su interfaz externo Generalización: Centrarnos en lo genérico y eliminar u ocultar detalles (el cómo) Modularidad Descomponemos de forma lógica CORRECCION ROBUSTEZ EXTENSIBILIDAD REUSABILIDAD Menor coste Mayor calidad Jerarquía Ordenamos por niveles de herencia y composición
40. Clases abstractas en diferentes lenguajes Eiffel deferred class Figura feature dibujar is deferred end ... Java abstract class Figura { abstract void dibujar(); ...} C++ class Figura { public: virtual void dibujar() = 0; ...