ES

www.codigo-facil.com > POO PHP, Interfaces

Programacion orientada a objetos en PHP


Parte 5 : Interfaces

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.

Introduccion


En el capitulo anterior hablamos del polimorfismo en PHP y vimos como podiamos establecer una relacion polimorfica creando una jerarquia de clases. Establecimos un vinculo entre diferentes objetos a traves de un elemento comun, en este caso su clase base o ancestra.

Hoy hablaremos de un sistema bastante comun por lo programadores, para establecer un punto de union entre objetos de diferente naturaleza, logrando el polimorfismo necesario en una determinada funcion.

Las interfaz es el recurso ideal para la implementacion del polimorfismo, ya que las interfaz es un conjunto de declaraciones de funciones o metodos sin incluir su codificacion, dejando a la clase que implementa la interfaz esta tarea.

A continuacion modificaremos el ejemplo visto en el capitulo anterior para adaptarlo a la utilizacion de interfaces.
  1. <?php
  2. /*
  3. Empezaremos definiendo la interface
  4. */
  5. interface Poligono
  6. {
  7.   function calculo();
  8. }

  9. /*
  10. A continuacion defino las clases que implementan
  11. la interface
  12. */
  13. class classCuadrado implements Poligono
  14. {
  15.   function calculo()
  16.   {
  17.   echo 'area de un cuadrado : a=l*l<br>';
  18.   }
  19. }

  20. class classRectangulo implements Poligono
  21. {
  22.   function calculo()
  23.   {
  24.   echo 'area de un rectangulo : a=b*h<br>';
  25.   }
  26. }

  27. class classTriangulo implements Poligono
  28. {
  29.   function calculo()
  30.   {
  31.   echo 'area de un triangulo : a=(b*h)/2<br>';
  32.   }
  33. }

  34. /*
  35. definicion de la funcion encargada de realizar las llamada
  36. polimorfica al metodo "calculo"
  37. A destacar que en la definicion de la funcion definimos el tipo
  38. parametro que pasamos por referencia, esto no es obligatorio
  39. en PHP, pero nos ayuda a entender el concepto y asi poder aplicarlo
  40. en otros lenguajes mas estrictos.
  41.  */
  42. function area(Poligono $obj)
  43. {
  44.   $obj->calculo();
  45. }

  46. /*
  47. Creamos los objetos necesarios
  48. */
  49. $cuadrado = new classCuadrado;
  50. $rectangulo = new classRectangulo;
  51. $triangulo = new classTriangulo;

  52. /*
  53. Ejecutamos la funcion encargada
  54. de realizar la llamada polimorfica
  55. */
  56. area($cuadrado);
  57. area($rectangulo);
  58. area($triangulo);
  59. ?>
Conclusiones finales :

Al probar el ejemplo comprobamos el comportamiento polimorfico de la funcion "area", mostrando diferentes resultados en funcion del contexto en el que se esta ejecutando dicha funcion.

Por lo tanto hemos logrado establecer una relacion polimorfica con objetos de distinta naturaleza gracias a la utilizacion de interfaces, sin la necesidad de establecer una jerarquia de clases.

Otras caracteristicas


Voy a concluir comentando otras caracteristicas propias de las intefaces a tener en cuenta :
  • Todos los metodos definidos en una interfaz, deben ser codificados en la clase que implementa dicha interfaz.
  • La clase que implemente la interfaz debe utilizar exactamente las mismas estructuras de metodos que fueron definidos en la interfaz.
  • Las interfaces se pueden extender al igual que las clases mediante el operador extends.
  • Una clase puede implementar diferente interfaces.
  • Una interfaz no se puede instanciar y todos sus metodos son publicos dada la propia naturaleza de la interfaz.
  • Una interfaz no puede contener ni atributos, ni metodos implementados, solo declaraciones de metodos y constantes.
Y aqui concluye esta publicacion, espero que haya resultado de interes y os animo a que dejeis vuestra valoracion sobre el articulo. Como siempre gracias por vuestro apoyo y nos vemos pronto en futuras 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
2