Comparte en Facebook Twitter Google+

programacion-orientada-a-objetos

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:

  1. Soporta objetos que son abstracciones de datos con una interfaz de operaciones con nombre y un estado local oculto.
  2. Los objetos tienen un tipo asociado (la clase).
  3. 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 PHP, Laravel y más por sólo 999 al mes: ver planes.

Lección siguiente ¿Qué es la abstracción en la programación orientada a objetos?