Programación Orientada a Objetos en PHP5

Escrito por: J.P. Aulet el 15 Abr 2011 - Tags: , , ,

Tutorial 1/3:

La nueva versión de PHP5 incorpora muchas novedades en el trabajo sobre Objetos, muchas de ellos ya disponibles en otros lenguajes como JAVA cómo pueden ser __construct(), métodos privados, protegidas, interfaces… Esto nos permite crear clases más robustas y seguras. Vamos a repasar las nuevas funcionalidades:

0.- Introducción a las clases

Para construir una clase, usaremos la palabra reservada class. Una clase básica seria la siguiente, que muestra por pantalla al llamar el método ‘mostrar()’ el texto ‘Loren Ipsum’. Ejemplo:

codigo 1

1.- Visibilidad de propiedades y métodos

En la nueva versión, pueden declararse las propiedades (variables de una clase) y los métodos (funciones de una clase) cómo públicos, privados y protegidos respectivamente con las palabras reservadas public, private y protected seguidas de la declaración normal de estos. Si no se especifica, se declarará como público.

- Public: Puede accederse desde cualquier método de cualquier clase.

- Private: Puede accederse solo desde métodos de la propia clase.

- Protected: Puede accederse desde métodos de la propia clase y clases que extiende

Ejemplo:

codigo 2

2.- Constructores y destructores
Se usan los métodos __construct() y __destruct() para inicializar y destruir respectivamente un objeto. Ejemplo:

codigo 3

Pueden usarse parametros en los constructores.


3.- Uso de interfaces

Las interfaces se utilizan para definir el conjunto de métodos que implementa una clase y permiten crear código con el cual especificar qué métodos deben ser implementados por una clase, sin tener que definir cómo estos métodos son manipulados. Las interfaces deben ser declarados como public .

Una interface se declara con la palabra reservada: interface y se implementan con la palabra implements. Ejemplo:

codigo 4

Seguiremos este tutorial con la explicación de los puntos:

4.- Métodos y clases final
5.- Operador instanceof
6.- Auto-carga de clases: __autoload()

7.-El Operador de resolución de ámbito (::)


Comments Off