Tecnología orientada a objetos – Una estupenda síntesis.
Programación Orientada a Objetos en Wikipedia
Pensamiento orientado a objetos – Este capítulo de la «Guía del usuario de Ruby» es una simpática aproximación a la OOP
Reglas Para El Diseño Orientado A Objetos
Leyendo el libro de Luis Joyanes: «Programación orientada a objetos».
Los conceptos fundamentales de orientación a objetos son: tipos abstractos de datos, herencia e identidad de los objetos.
Un tipo abstracto de datos describe una colección con la misma estructura y comportamiento. Los tipos abstractos de datos extienden la noción de tipos de datos, ocultando la implementación de operaciones definidas por el usuario (mensajes) asociados con los tipos de datos. Los tipos abstractos de datos se implementan a través de clases.
Las clases pueden heredar unas de otras. Mediante la herencia se pueden construir nuevos modelos de software (tales como clases) en la parte superior de una jerarquía existente de módulos. La herencia permite la compartición de código (y por consiguiente reutilización) entre módulos de software.
La identidad es la propiedad de un objeto que diferencia cada objeto de los restantes. Con la identidad de un objeto, los objetos pueden contenerse o referirse a otros objetos. La identidad del objeto reorganiza los objetos del espacio del objeto manipulado por un programa orientado a objetos.