-
Notifications
You must be signed in to change notification settings - Fork 1
guia implementacion poo
volver a Implementación
Hay un excelente tutorial de Programación Orientada a Objetos (POO) en español disponible en la red en dos partes:
Repetir lo que se dice allí no tiene sentido, así que en este wiki se pondrá únicamente un pequeño resumen, destacando los conceptos más interesantes. En cualquier caso es altamente recomendable leer ese tutorial, tanto si se ha trabajado antes con POO como si no, ya que ayuda a cambiar la mentalidad de un desarrollador de programación estructurada a POO.La orientación a objetos se basa en los siguientes principios:
- Abstracción
- Modularidad
- Encapsulación
- Jerarquía
La abstracción es fijarse únicamente en los aspectos más relevantes de algo, ignorando o prestando poca atención a los detalles menos importantes. La OO es más parecida a crear un modelo de simulación que a crear un programa estructurado. El objetivo debe ser identificar las entidades más importantes del dominio a modelar, identificar sus atributos o características y los mecanismos de interacción entre entidades.
La modularidad consiste en plantearse un problema como una serie de subproblemas o módulos que se comunican entre sí, pero que son altamente intercambiables e independientes.
La encapsulación u ocultamiento de la información indica que al programar POO debe tratarse de que cada entidad se comporte todo lo posible como una caja negra, es decir, idealmente no debería saberse nada de cómo funciona internamente la entidad, sólo cómo se debe utilizar para interactuar con otras entidades.
La jerarquía (concretamente la denominada jerarquía de generalización/especialización) se basa en que las propiedades de una categoría general se transmiten a todas las categorías que la especializan. En un sistema de software, la jerarquía se suele implementar mediante la herencia. La herencia proporciona un mecanismo para poder crear nuevas clases utilizando clases ya existentes. Así, las clases que "heredan", no necesitan volver a implementar los métodos o atributos de su "superclase" o clase padre.
Los requisitos mínimos que debe cumplir un lenguaje de programación para ser considerado OO son:
- Encapsulación
- Herencia
- Polimorfismo
- todos los tipos de datos definidos en el lenguaje deben ser objetos
- todos los tipos de datos que puede definir un programador deben ser objetos
- todas las posibles operaciones entre objetos se realizan enviando mensajes