POO: Programacion orientada a objetos ejemplos en PHP
POO: Programacion orientada a objetos ejemplos en PHP. En este tutorial les mostraremos la programación Orientada a objetos (POO) en una forma sencilla con pequeños ejemplos entendibles, POO es una forma especial de programar lo que le hace más dinámico, le expresaríamos las cosas en la vida real.
En POO tenemos que aprender a analizar las cosas de una manera distinta a lo que estamos acostumbrados, para desarrollar nuestros códigos y programas en términos de objetos, propiedades, métodos, clases y otras cosas interesantes que veremos rápidamente para aclarar conceptos y dar unos pequeños ejemplos de este método de programar que es bastante robusto y ahorra muchas líneas de código en nuestro desarrollo.
Clases en POO
Las clases POO son declaraciones de objetos en PHP, también se podrían conceptualizar como abstracciones de objetos para así poder llamarlos en cualquier sitio de nuestro sistema. Cuando codificamos un objeto y definimos sus detalles y funcionalidades del método en realidad lo que estamos haciendo es programar una clase que es importante para programar.
Objetos y Clases en PHP
Crear y programar una clase en PHP es bastante sencillo y no difiere mucho como se hace en otros lenguajes de programación (java, aspx, etc), Veamos un ejemplo simple de una clase empelado:
[php]class Empleado{ }[/php]
Posteriormente veamos cómo podemos crear a un empleado llamado marcos
. Para hacer esto solo antepondremos la palabra clave new
, delante de la clase.
[php]$marcos= new Empleado;[/php]
Hasta todo sencillo cierto, veamos lo que sigue.
Añadiendo propiedades
Una propiedad en PHP no es más que una variable, y la usaremos para guardar información sobre el objeto en sí. Ahora veremos cómo añadir nuestras propiedades en este ejemplo.
[php] class Empleado{ public $empleado; public $clave; } [/php]
A continuación veremos qué es public en PHP. Por ahora ten en mente que la propiedad es pública por lo cual quiere decir que cualquiera puede acceder a ella y después de public, tenemos el nombre de la propiedad en sí.
[php] class Empleado{ public $empleado; public $clave; } $marcos= new Empleado; $marcos->empleado= 'marcos'; $marcos->clave= 'marcos1256'; echo $marcos->empleado; // marcos [/php]
Bueno si observas bien, estamos usando $marcos->[nombre_de_la_propiedad]. Ahora muchos se hacen esta pregunta ¿por qué no se haría algo así, fácil y simple? Empleado->empleado.
La respuesta es muy simple y concisa, que puede haber un número indeterminado de empleados en la empresa y el valor marcos1256 está dentro del objeto, no de la clase.
Añadiendo métodos
Vamos a agregar un método para dar saludo al empleado de la empresa.
[php] class Empleado{ public $empleado; public $clave; public function darsaludo() { echo '¡Buenos dias' . $this->empleado. '!'; } } [/php]
Ahora siguiendo con este tema te estarás preguntando ¿qué es $this en la anterior declaracion? ahora responderemos que es y para que sirve «$this» es la forma que tienen los objetos de referirse a sí mismos. Por consiguiente, para poder acceder al valor de «$empleado» desde el propio objeto, tendremos que utilizar necesariamente de la sintaxis «$this» en la codificacion.
Llamar al método no tiene mucho misterio, veamos como se hace de manera sencilla:
[php] $marcos= new Empleado; $marcos->empleado= 'marcos'; $marcos->darsaludo(); // ¡Buenos dias marcos! [/php]
Al final no solo se podria dar saludo a un empleado, el escript tiene que estar preparado para mas y uno de ellos es minimo dar saludo a casi y/o todos los empleados de la empresa. Ahora, si usamos varios objetos, podemos almacenar valores distintos en ellos y llamar a sus métodos y propiedades:
[php] $empleados = null; $empleados[] = new Empleado; $empleados[] = new Empleado; $empleados[0]->empleado= 'marcos'; $empleados[1]->empleado= 'carlos'; foreach ($empleados as $empleado) { $empleado->darsaludo(); } // '¡Buenos dias marcos!' // '¡Buenos dias carlos!' [/php]
Si ves todo es muy sencillo en la codificación de Objetos y clases, public, con esto hemos terminado este ejemplo de manejo de POO.
Espero les sirva para sus proyectos que estén realizando. Con esto ahorraran tiempo y minimizaran las extensas líneas de código.
Buen trabajo… Gracias Saludos
Excelente muy entendible el codigo, aunque estan un poco separados los ejemplos, pero se entiende.
Hay un problema en el codigo
$empleados = null;
$empleados[] = new Empleado;
$empleados[] = new Empleado;
$empleados[0]->empleado= ‘marcos’;
$empleados[1]->empleado= ‘carlos’;
foreach ($empleados as $empleado) {
$empleado->darsaludo();
} // ‘¡Buenos dias marcos!’ // ‘¡Buenos dias carlos!’
Ya que no se esta definiendo la función darsaludo(),
para corregir este error implemente este codigo, hay
se muestra que te hizo falta
class Empleado
{
public function darsaludo()
{
echo ‘¡Buenos dias’ . $this->empleado. ‘!’;
}
}
$empleados = null;
$empleados[] = new Empleado;
$empleados[] = new Empleado;
$empleados[0]->empleado= ‘marcos’;
$empleados[1]->empleado= ‘carlos’;
foreach ($empleados as $empleado) {
$empleado->darsaludo();
}
// ‘¡Buenos dias marcos!’ // ‘¡Buenos dias carlos!’