| Formulario de acceso |
|---|
| Anuncios |
|---|
|
|
| Manual PHP+MySQL (VIII - Clases y Objetos) |
|
|
| domingo, 01 de octubre de 2006 | ||
|
Una clase es una colección de variables y de funciones que acceden a esas variables. Con esta definición estamos atendiendo a uno de los fundamentos principales de la programación orientada a objetos. Si bien el lenguaje PHP no puede englobarse dentro del grupo de lenguajes orientados a objetos, implementa en su concepción una serie de características que permitirán al programador construir dichos elementos. Concepto de clase Una Clase en su concepto puede definirse con la frase que inicia este capítulo o bien, para hacerlo más comprensible, podemos definirla igualmente como todo aquel conjunto de expresiones (funciones y variables) que se agrupan bajo un denominador común y actúan sobre algo. Por ejemplo, atendamos a esta definición de clase: <?php Como podemos observar, la definición de la clase Almacen comprende todas las variables y funciones que serán utilizadas cuando queramos manipular algo del Almacén real en nuestro código. De esta forma estamos creando un un código muy reutilizable y mucho más legible que nos servirá para desarrollar nuestra aplicación de forma mucho más ordenada. Cuando una aplicación en cualquier lenguaje empieza a crecer, tenerlo todo ordenado es algo fundamental. Utilización Para utilizar una clase hay que crear primero una variable que nos permita el acceso a los objetos de la misma. Esto lo hacemos mediante el operador new de la siguiente forma: $mov = new Almacen; Como podemos observar, se crea un objeto $mov perteneciente a la clase Almacen. Seguidamente se llama a la función add_item() de la clase para añadir 10 unidades del artículo 102 al Almacén. Mediante el operador -> se especifica la variable o método de una clase en su parte izquierda y derecha, respectivamente. Uso extendido Una caraterística muy útil de las definiciones de clases, es que éstas pueden utilizar otras clases para extendre su propia deficnición, adquiriendo de forma automática todas las funciones y variables de la clase "madre". Así, por ejemplo, podríamos crear una clase para referenciar al mozo de almacén que hace los movimientos: class Mozo_Almacen extends Almacen { La clase del ejemplo se crea heredando todas las funciones y variables de Almacen y además añade otra variable y otra función adicionales. De esta forma podemos crear nuevos almacenistas y acceder a ellos mediante la clase Mozo_Almacen, que también podrá usar las funciones habituales de la clase Almacen. Veamoslo en el ejemplo siguiente: $nuevo_mozo = new Mozo_Almacen; // Creamos un nuevo mozo Observemos el uso de la variable especial $this en el ejemplo de definición de clase extendida anterior. La variable $this hace referencia al propio objeto cuando se trata de funciones de la misma clase. Igualmente, podemos crear una función con el nombre de la clase que se ejecute cada vez que se cree una nueva instancia de dicha clase. Estas funciones reciben el nombre de constructor. class Auto_Add extends Almacen { En este ejemplo se define la clase Auto_Add como una extensión de Almacen. Cada vez que se crea una nueva instancia de Auto_Add, se ejecuta la función de su interior con el mismo nombre y se añade de forma automática una unidad del elemento 102. Como utilidad adicional, podemos hacer que los constructores reciban parámetros opcionales: class Constructor_Almacen extends Almacen { Ejemplo práctico Para finalizar, vamos a ver un ejemplo de clase que servirá para realizar consultas a una base de datos MySQL: <?php Y el ejemplo de uso: <body>
Sólo los usuarios registrados pueden escribir comentarios. Powered by AkoComment 2.0! |
||
| < Anterior | Siguiente > |
|---|







