ES

www.codigo-facil.com > POO php, clases

Programacion orientada a objetos en PHP


Parte 1 : La clase y el objeto

Capitulos

Programacion orientada a objetos en PHP, creacion de clases

Comentaremos las mejoras introducidas a partir de la version 5 del famoso lenguaje en lo que a la programacion orientada a objetos se refiere. Veremos como crear una clase en PHP y en que consiste un metodo estatico.

Programacion orientada a objetos en PHP, encapsulacion

En este articulo hablaremos con profundidad de los modificadores : public, private y protected.

Programacion orientada a objetos en PHP, herencia

En este capitulo hablaremos de la herencia en PHP, uno de los pilares fundamentales de la programacion orientada a objetos.

Programacion orientada a objetos en PHP, polimorfismo

En este capitulo vamos a hablar de otra de las principales caracteristicas dentro de la programacion orientada a objetos, el polimorfismo.

Programacion orientada a objetos en PHP, interfaces

En este capitulo veremos las interfaces en PHP, un mecanismo bastante utilizado en diferentes lenguajes de programacion para la implementacion del polimorfismo.

Programacion orientada a objetos en PHP, clases abstractas

En este capitulo veremos en que consiste y como crear una clase abstracta en PHP, ademas de sus principales diferencias respecto a las interfaces.

Clases, utilidad y definicion


La clase es la base de la POO, programacion orientada a objetos. La clase es utilizada para definir un objeto. Dentro de una clase declaramos los atributos (propiedades) y metodos que seran utilizados por el objeto.

Asi podemos decir que la clase es el conjunto de declaraciones que van a definir los tipos de objetos que utilizaremos en el futuro.

Como definimos una clase?
A continuacion mostrare un ejemplo para ver como podemos definir una clase de la manera mas sencilla:
  1. //definicion de la clase poligono
  2. class poligono{
  3.  
  4.    var $vertices;
  5.    var $color;
  6.  
  7.    function area()
  8.    {
  9.      //instrucciones a ejecutar
  10.    }
  11.  
  12. }
Los objetos como instancias de las clases.

Como hemos comentado anteriormente, las clases son tan solo la definicion del objeto, asi que para poder trabajar con ellas es necesario instanciarlas mediante la creacion de un objeto. Asi el objeto es la representacion util de la clase que lo define.

Para instanciar una clase y asi crear el objeto lo haremos de la siguiente forma:
  1. $cuadrado = new Poligono();
  2. $triangulo = new Poligono();

__construct y __destruct


A continuacion vamos a hablar de la primera novedad que incorpora php5, los metodos magicos: __construct y __destruct.

Como ya podemos imaginar son metodos que nos sirven para definir el constructor y destructor en una clase.

El constructor de una clase es utilizado para inicializar la misma, asi podremos asignar algunos valores a las propiedades que se crean convenientes en el momento de creacion de un objeto.

El destructor sin embargo es ejecutado en el momento en el que el objeto deja de existir. Asi aquellas tareas que queramos ejecutar en el momento de liberar un objeto las definiremos en el destructor de la clase.

A continuacion vamos a extender nuestro ejemplo anterior con la inclusion del constructor y destructor.
  1. <?php
  2. {
  3. definicion de la clase poligono incluyendo el constructor y destructor
  4. }
  5. class poligono{
  6.  
  7.    var $vertices;
  8.    var $color;
  9.  
  10.    function __construct($ver=null)
  11.    {
  12.      if ($ver==null)
  13.          $this->vertices = 4;
  14.      else
  15.          $this->vertices = $ver;
  16.    }
  17.  
  18.    function __destruct()
  19.    {
  20.      echo 'vertices :  '.$this->vertices.' finalizado';
  21.    }
  22.  
  23.    function muestraVertice()
  24.    {
  25.      echo $this->vertices;
  26.    }
  27.  
  28. }
  29.  
  30. $cuadrado = new Poligono();
  31. $triangulo = new Poligono(3);
  32. ?>
El operador $this.

Si nos fijamos en el ejemplo anterior podemos encontrar el operador $this, este operador es para referirse al objeto sobre el que se esta ejecutando el metodo.

Asi dentro de una clase para acceder a los metodos y propiedades propios siempre lo haremos a traves de $this->metodo/propiedad

Propiedades y Metodos estaticos


Dentro de una clase podremos definir propiedades y metodos estaticos mediante la palabra clave "static". Esto quiere decir que estos metodos o propiedades podran ser accesibles sin necesidad de instanciar la clase, es decir, que podemos acceder a ellos sin la obligacion de crear el objeto correspondiente.

La forma de definir metodos o propiedades estaticos es sencilla, basta con añadir la palabra clave static justo despues del modificador de acceso en la declaracion de dicho metodo o propiedad.

A continuacion un sencillo ejemplo practico de su utilizacion, presten atencion a la manera de acceder al metodo estatico :
  1. <?php
  2.  
  3. class Mensajes{
  4.   (...)
  5.   public static function mostrar()
  6.   {
  7.     echo 'Hemos accedido a este metodo estatico';
  8.   }
  9.   (...)
  10. }

  11. /*
  12. Observen que para acceder a metodos/propiedades vemos que difiere de la forma habitual a cuando accedemos a ellos mediante la creacion del objeto
  13. */
  14. echo Mensajes::mostrar();

  15. ?>
Para ver otro caso mas practico de utilizacion de metodos y propiedades estaticos lo podremos encontrar en el siguiente articulo publicado en este portal:

Patron Singleton en PHP
Hasta aqui el articulo de hoy, en el siguiente capitulo veremos como implementar una de las nueas caracteristicas dentro de la POO aplicada en PHP5, la encapsulacion.

Como siempre digo gracias a tod@s por su atencion y nos vemos pronto en las siguientes publicaciones.

Ultimas noticias

Crea tu propio framework en javascript

Recopilacion de articulos donde mostrare paso a paso como podemos crear nuestro propio framework en javascript, totalmente funcional y listo para ser utilizado en nuestros futuros proyectos.

Para mas informacion :

Tutorial para crear tu propio FrameWork en JavaSript

Más información
13/12/2013 11:42:57

Como crear una DLL en delphi?

En esta serie de 2 capitulos veremos como crear y utilizar una DLL en Delphi.

Abajo os dejo los enlaces a estos 2 capitulos que componen este mini tutorial, espero que sea de vuestro agrado :

Capitulo 1 : Creacion y utilizacion de una DLL

Capitulo 2 : Creacion de un formulario dinamico utilizando una DLL
Más información
19/09/2013 17:35:59

Ya puedes publicar tu opinion

A partir de ahora ya puedes comentar todas las publicaciones que encuentres en el portal.

Podras opinar tanto si algo te gusta como si no, o si crees que es conveniente completar alguna publicacion, ya que la encuentras incompleta o erronea.

O simplemente por si nos quieres felictar por algo bien hecho :-).

Valoraremos cualquier critica que nos puedas hacer.
Más información
20/05/2013 15:30:10

Tutorial PHP5

Fundamentos de la programacion orientada a objetos
Un interesante tutorial repartido en una serie de capitulos donde se tratan los conocimientos basicos de la programacion orientada a objetos (POO) en PHP5.

Para mayor informacion siga el siguiente enlace :

Tutorial POO en PHP

Más información
04/09/2013 15:44:29
4