viernes, 14 de junio de 2013

Programación Orientada a Objetos en PHP


La Programación Orientada a Objetos (POO) es un tipo de programación agregada a PHP 5 que hace de la construcción compleja, modular y reusable de aplicaciones web mucho más fácil.
Con el lanzamiento de PHP 5, los programadores en PHP finalmente tienen el poder de programar como los grandes. Así como Java y C#, PHP finalmente tiene una completa infraestructura POO.

"CLASE"
Una clase es una colección de variables y funciones que trabajan con estas variables. Las variables se definen utilizando var y las funciones utilizando function. Una clase se define empleando la siguiente sintaxis:

Crea una clase en PHP
En vez de tener un montón de funciones, variables y código flotando de manera espontánea, para diseñar sus scripts PHP o librerías de códigos a la manera de POO, necesitaras definir/crear tus propias clases.
Defines tus propias clases comenzando con la palabra clave "class" (clase) seguida del nombre que le quiere dar a su nueva clase.

Ejemplo de sintaxis:
<?php
class person {
}
?>



Agrega datos a tu clase
Las clases son los planos de los objetos PHP- más sobre esto luego. Una de las grandes diferencias entre las funciones y clases es que la clase contiene ambos datos (variables) y funciones que forman un paquete llamado un "objeto". Cuando tu creas una variable dentro de una clase, es llamada una "propiedad".
<?php
class person {
var name;
}
?>

Nota: Los datos/variables dentro de una clase (ej: var name ) son llamados
"propiedades".
Ejemplo de corrida:
Constructores
Todos los objetos tienen un método incorporado llamado un "constructor". Los constructores le permiten inicializar las propiedades de sus objetos (traducción: dar valores a las propiedades) cuando instancias (creas) un objeto.

Nota: Si creas una función construct() (si es su opción), PHP automáticamente llamara el método/función constructor cuando hayas creado el objeto desde su clase.

El método "construct" comienza con dos subrayados (__) y la palabra 'construct'.
El método constructor se "alimenta" proveyendo una lista de argumentos (como una función) después del nombre de clase.

Ejemplo de la corrida:

Ejemplo de la corrida:

Herencia

La herencia consiste la capacidad en reutilizar código a través de clases padre y clases hijo, que heredan los métodos y propiedades de este, así por ejemplo si quisiera definir una nueva clase que representara a un coche deportivo, podría ser la siguiente:


Por lo tanto utilizamos la herencia para definir clases generales, y a través de clases hijos, ir definiendo clases más concretas, afinando su comportamiento, por ejemplo podríamos crear una clase Ferrari, que heredara a su vez de Deportivo, para añadirle características más específicas, o crear una nueva clase que herede de Coche, llamada furgoneta, que aumente su velocidad más despacio, pero con mayor capacidad de carga. La herencia es el mecanismo fundamental de la POO.

Encapsulación

La encapsulación es una de las características fundamentales en la programación orientada a objetos.

Así en este artículo vamos a hablar de public, private y protected, que son los modificadores de acceso a métodos y propiedades incorporados a partir de PHP5.

Seguramente aquellos que estén familiarizados con algún lenguaje de programación le resultaran conocidos estos modificadores, para aquellos que no, es una buena ocasión para tener una primera toma de contacto con conceptos fundamentales dentro de la programación orientada a objetos.
A continuación pasare a comentar cada uno de los modificadores, analizando sus características y adjuntando un ejemplo de su implementación.

Modificador public

Este modificador es el más permisivo de los 3, puesto que indica que el método o la propiedad es accesible desde cualquier otra parte de nuestro programa. Comentar que es el modificador aplicado por defecto en caso de que no especifiquemos lo contrario.

Modificador private

Este modificador establece el nivel más restrictivo, puesto que las propiedades o métodos que declaremos como private solo serán accesibles desde el interior de la clase.

Como ejemplo de su implementación, haremos una modificación en el ejemplo de capitulo anterior, para comprobar su funcionamiento. Para no repetir todo el código pondré solo la modificación realizada.

Modificador protected

Este modificador establece un nivel de restricción medio, esto quiere decir que las propiedades o métodos declarados como protected solo seran accesibles desde la clase base o las clases hijas que hereden de la clase base.





No hay comentarios:

Publicar un comentario