Skip to content

guia implementacion poo

Pedro Toledo edited this page Jul 31, 2014 · 1 revision

volver a Implementación

Table of Contents

Antes de empezar...

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.

Orientación a Objetos (OO)

La orientación a objetos se basa en los siguientes principios:

  • Abstracción
  • Modularidad
  • Encapsulación
  • Jerarquía

Abstracción

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.

Modularidad

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.

Encapsulación

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.

Jerarquía

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.

Programación Orientada a Objetos (POO)

Los requisitos mínimos que debe cumplir un lenguaje de programación para ser considerado OO son:

  • Encapsulación
  • Herencia
  • Polimorfismo
Además de estos, para ser considerado un lenguaje OO puro debe cumplir:
  • 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
volver a Implementación