Está en la página 1de 5

Clases y Objetos en PHP 5 Las definiciones bsicas de clases empiezan con la palabra clave class, seguida por un nombre

de clase, seguido por un par de llaves que encierran las definiciones de las propiedades (atributos) y mtodos (funciones) pertenecientes a la clase. El nombre de la clase puede ser cualquier identificador vlido que no sea una palabra reservada de PHP. A continuacin se muestra su sintaxis: Class Nombreclase { Prvate $atributo; // definicin de atributo Public fucntion nombremetodo (parmetros) { //aqu va lo que hace el mtodo } } } Las clases deberan ser definidas antes de la instanciacin.

Cmo usar los atributos de una clase


Una clase, tiene un puntero especial al que podemos referenciar como $this. Si nuestra clase tiene un atributo llamado $atributo, podemos hacer referencia a este desde nuestra clase (mtodos) de la siguiente forma: $this->atributo.

Cmo usar objetos, instanciar una clase


Una vez que se ha definido una clase con sus respectivos atributos y comportamientos, ya podemos usarla creando un objeto que es una instancia a esa clase. Es muy importante tener claro, que los objetos son instancias a una clase, por lo tanto cada objeto es nico. En php creamos un objeto usando la palabra reservada new. Tambin debemos indicar a que clase va a instanciar el objeto que creemos y pasarle los parmetros (si los requiere) al constructor, en el siguiente cdigo vamos a ver un ejemplo de esto, para ello tomamos como referencia la clase anterior NombreClase:

$objeto1 = new NombreClase("parametro"); $objeto2 = new NombreClase("parametro"); $objeto3 = new NombreClase();//sin parametro

constructor de una clase


Las clases soportan un tipo de funcin especial que se conoce como constructor. El constructor es llamado cuando se crea el objeto. Normalmente utiliza para inicializar tareas como: asignacin de valores a determinados atributos, crear nuevos objetos necesarios para el correcto funcionamiento del objeto, etc. El constructor se declara de la misma forma que los mtodos, lo nico que debemos tener en cuenta es que debe tener el mismo nombre que la clase. A pesar de que nosotros podemos llamar a el constructor, su principal propsito es ser llamado automticamente cuando un objeto es creado.

Los constructores y destructores


Un constructor es un mtodo que se invoca automticamente cuando se crea una instancia de un objeto (al hacer un new). Un destructor es un mtodo que se invoca automticamente cuando se destruye un objeto, ms precisamente es la ltima accin que se realiza cuando no quedan referencias a un objeto.

Definicin de constructores y destructores en PHP 5

Tenemos dos mtodos especiales __construct y __destruct.


Ejemplo de Constructor
<?php class Zapato { public $descripcion; public $precio; // Constructor public function __construct ( $descrip, $pre) { // Asignamos los valores a los atributos $this->descripcion = $descrip; $this->precio=$pre; $this->calcularDescuento; } public function calcularDescuentos() { if ($this->precio > 5000){ $this->precio = $this->precio-($this->precio*0.05); echo el precio con descuentos de 5% es: ,$this->precio; }

else echo No tiene descuentos; } // Creamos un objeto de tipo zapato // pasando sus su descripcin y precio al constructor $zapato1 = new Zapato ( femini, 6000); $zapato2 = new Zapato ( Russo, 4000);

?>

Ejemplo de Destructor Los destructores son funciones que se encargan de realizar las tareas que se necesita ejecutar cuando un objeto deja de existir. Cuando un objeto ya no est referenciado por ninguna variable, deja de tener sentido que est almacenado en la memoria, por tanto, el objeto se debe destruir para liberar su espacio. En el momento de su destruccin se llama a la funcin destructor, que puede realizar las tareas que el programador estime oportuno realizar.
?php class MyDestructableClass { function __construct() { print "En el constructor\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Destruyendo " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>

Cmo usar los mtodos de una clase


Los mtodos de una clase se pueden llamar de la misma forma que se llaman a los atributos y son llamados de la misma forma que se llaman a funciones normales, pasndoles el parmetro que necesiten de ser necesario. Primero creamos un objeto de la clase nombreClase con el nombre $obj de la siguiente forma:
$obj = new nombreClase();

Como los mtodos son funciones que pertenecen a un objeto, deberemos indicar en la llamada el objeto que los incluye, la forma de llamar a un mtodo es idntica a como llamamos a los atributos de un objeto.
$obj->metodoa();//sin parametros $obj->metodob("parmetro que pasamos");//con parametros

Ejercicio de la Clase de Laboratorio <?php class Agenda { private private private public function $nombre; $telefono; $direccion; __construct($nom,$telf,$dir){

$this->nombre=$nom; $this->telefono=$telf; $this->direccion= $dir; } public function visualizar(){ echo "Los datos de la persona son:",$this->nombre," $this->telefono," ",$this->direccion; } public function cambiarnombre($nomnuevo){ $this->nombre=$nomnuevo; $this->obtener(); } ",

public function cambiarnombre($nomnuevo){ echo "nuevo nombre", $this->nombre; } } //creacion de un objeto de la clase agenda $pers1=new Agenda('juan',04147801777,'playa grande'); $pers1->visualizar();//llamar el metodo visualizar del objeto pers1 $pers1->cambiarnombre('Pedro'); ?>

Ejercicios Propuesto.

1. Realizar una clase calculadora que permita realizar las operaciones bsicas entre dos nmeros, comprobar que no exista divisin por 0 es decir a/0. 2. Dada la siguiente informacin de un empleado del IUT J.N.V Nombre, apellido, ci, departamento asignado, cargo, sueldo, horas trabajadas Aplicar los mtodos inicializar y mostrar. Si el sueldo del empleado es menor de 5000 se le da una bonificacin extra al empleado de 1000. Si trabaja horas extras se le debe sumar al sueldo el monto total cobrado por horas extras(1 hora extra se paga a 200). Se considera horas extras despus de las 8 horas. Listar todos los empleados que pertenecen al departamento de compras Realizar el diagrama de clases que permita modelar esta situacin. Realizar la codificacin en Php.

3. Construir una clase Prrafo que permita indicarle en el constructor el color de la fuente, el tamao y el estilo de la letra. Debe mostrar un prrafo donde se muestre esto
4. Disear dos calses: Libro, titulo (tipo string), con el nmero de pginas (tipo int), ao de publicacin (tipo i n t ) y precio (tipo float); y disco, titulo (tipo string), con duracin en minutos (tipo f l o a t ) y precio (tipo i n t ) Cada una de las clases tendr sus funciones constructoras y destructoras asociadas. As como tambien mtodos que permitan visulizar la informacin de sus atributos. Crear una instancia u objeto para cada una de las clases. Crear otros mtodos que se puedan aplicar a los objetos de dichas clases.

También podría gustarte