Conceptos Clave de Programación Orientada a Objetos en PHP

Clase 14 de 19Curso de Programación Orientada a Objetos en PHP

La programación orientada a objetos es una forma de programar, un paradigma o una técnica. Los conceptos que aquí aprendiste te servirán en PHP y en otros lenguajes de programación. Recordemos que para programar de esta forma en realidad debemos crear objetos, y un objeto es una instancia de una clase y una clase es el molde. Ejemplo:

  • Programación orientada a objetos: es la técnica.
  • PHP: es el lenguaje de programación (donde implementamos la técnica).

Podemos resumir los diferentes conceptos de la siguiente manera:

  1. Herencia: compartir métodos entre clases padres y clases hijas.
  2. Abstracción: significa aislar, separar y sacar.
  3. Polimorfismo: capacidad o virtud que tienen los métodos donde, por ejemplo, un mismo método puede tener diferentes comportamientos y dar diferentes resultados.
  4. Modularidad: este principio básicamente nos ayuda a tener cada vez piezas de código más pequeñas y entendibles, donde cada pieza es un módulo y muchos módulos forman el sistema entero.
  5. Encapsulamiento: un objeto debe estar aislado y ser un módulo natural. Esto se cumple aplicando la protección a las propiedades impidiendo su modificación y básicamente se refiere a controlar el acceso.

Al entender este estilo conseguimos organizar mucho mejor nuestro código agrupando tareas comunes para crear una sola solución y usarla las veces que sean necesarias en nuestro proyecto. Evitamos con esto repetir código y ganamos mucho al dar mantenimiento en el futuro.

  1. Comienza con la palabra reservada class.
  2. El código va entre llaves { }.
  3. La información se guarda en propiedades que pueden ser públicas, privadas o protegidas.
  4. Cada acción la colocamos en métodos que básicamente son funciones o bloques de código dentro de una clase.
  5. $this es una variable reservada por el lenguaje que podemos usar para acceder a elementos propios, siempre y cuando estemos en la instancia de la clase.
  6. new es la palabra clave usada para crear un objeto a partir de una clase.

En el mundo de la programación tenemos muchas técnicas y formas, podemos instanciar una clase dentro de otra y navegar por sus métodos sin restricción.

<?php class User { public $type; } class Admin { public function greet() { echo "Hola Administrador"; } } $user = new User; $user->type = new Admin; $user->type->greet();
<?php class Person { public function greet() { echo "Hola $this->name"; } } class User { public $type; } class Admin extends Person { public $name = 'Administrador'; } $user = new User; $user->type = new Admin; $user->type->greet();

Son conceptos, métodos o formas que usamos a veces sin saber que estos conceptos existen. Revisa en detalle cada cosa y trata de hacer un ejercicio por concepto para que estos formen parte de ti.