Esta es la primera lección de la nueva serie sobre Programación Orientada a Objetos, un paradigma de altamente recomendado, con el cual puedes escribir código mucho mas ordenado y aplicaciones más fáciles de mantener.
Tengamos claro qué es un objeto: un objeto es una entidad que tiene un determinado estado, comportamiento e identidad, los objetos representan o son cosas.
Como su nombre lo indica se utilizan objetos para diseñar sus aplicaciones y no algoritmos, cada objeto es una instancia de alguna clase. Las clases están relacionadas con otras clases por medio de relaciones de herencia.
Dicho de una mejor forma:
Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase, y cúyas clases son, todas ellas miembros de una jerarquía de clases unidas mediante relaciones de herencia.
Un lenguaje es orientado a objetos si cumple con lo siguiente:
- Soporta objetos que son abstracciones de datos con una interfaz de operaciones con nombre y un estado local oculto.
- Los objetos tienen un tipo asociado (la clase).
- Los tipos (clases) pueden heredar atributos de los supertipos (superclases).
Para el lenguaje POO, el qué soporte la herencia significa: Usar la relación << ES UN >>.
Ejemplo: Un Cocker << ES UN >> tipo de perro y un perro << ES UN >> animal doméstico.
Con lo antes mencionado, podemos decir que la POO, es hacer una abstracción de la realidad.
Tenemos el Diseño orientado a objetos y el Análisis orientado a objetos.
El primero es un método de diseño que abarca el proceso de descomposición orientado a objetos y una representación para describir los modelos lógicos y físicos, así como los modelos estáticos y dinámicos del sistema de diseño.
El segundo enfatiza en la construcción de modelos del mundo real utilizando una visión orientada a objetos es un método de análisis que evalúa los requisitos desde la perspectiva de la clase.
Hay que tener en cuenta que los análisis orientados a objetos sirven como modelos de los que se puede partir para un diseño orientado a objetos.
Elementos del Modelo de Objetos
Se utilizan varios estilos de programación desde orientado procedimientos, objetos, lógica, reglas y restricciones, los cuales el tipo de abstracción que se usa son los siguientes en su respectivo orden: algoritmos, clases y objetos, objetivos expresados como cálculo de predicados, reglas si-entonces, relaciones invariantes. (Invariante: condición booleana cuyo valor de verdad debe mantenerse)
Para todo lo orientado a objetos el marco de referencia conceptual es el MODELO DE OBJETOS, para ello tenemos 4 elementos FUNDAMENTALES los cuales son:
1. Abstracción
2. Encapsulamiento
3. Modularidad
4. Jerarquía
Así mismo este modelo tiene elementos secundarios:
1. Tipos (Tipificación)
2. Concurrencia
3. Persistencia.
Si falta cualquiera de los elementos fundamentales, el modelo NO es programación orientado a objetos.
Por ahora espero que hayan podido comprender lo que se ha mencionado, cualquier duda pueden hacerla llegar por los comentarios.
Lecturas recomendadas
- Aprende programación orientada a objectos (POO) con PHP desde cero
- PHP y Programación orientada a objetos
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección siguiente ¿Qué es la abstracción en la programación orientada a objetos?