domingo, 24 de abril de 2011

Clases Abstractas en PHP

Hay que tener cuidado con la traducción al castellano del manual de PHP donde dice “abstracción de clases”, cuando en realidad es “clases abstractas”.

Técnicamente lo que hacemos definir que la clase no puede ser instanciada, por lo que se le antepone a “class” la palabra “abstract”.

Conceptualmente lo que estamos diciendo es que la clase no puede ser usada directamente y que nos servirá de molde para crear otras clases que sí serán concretas y candidatas a instanciar.

La clase abstracta definira las propiedades y metodos que se necesitaran para implementar las clases derivadas.

Caracteristicas:
  • Las clases abstractas no se pueden instanciar.
  • Las clases que heredan de esta deben implementar todos los metodos abstractos.
  • Las clases abstractas pueden heredar de otras clases.
  • Los parametros de los metodos deben ser iguales, ya que sino sera tratado como otro metodo.
  • Si una clase tiene un metodo abstracto esta debe declararse también como clase abstracta.
Bien ahora veamos un ejemplo de una clase abstracta a la cual necesitamos un metodo generico que necesitemos en alguno momento en nuestras clases como es la de obtener la ip de nuestro visitante.

Clase abstracta
Clase que hereda de la abstracta .
Si nos fijamos es una Final Class la que nos impide que esa clase pueda tener hijos o pueda heredar ya que no nos interesa que tenga hijos sino que sea unica. tambien podemos declarar metodos finales los cuales no sean sobrescritos eso lo veremos mas adelante.

Clase Principal
Lo unicos que hacemos es el require mas la instanciacion y llamamos al metodo e imprimimos el resultado.

Bien este tipo de clases las podemos usar cuando querramos hacer metodos abstractos y genericos que todas las clases que estemos utilizando las necesiten tenemos que pensar en reutilizar nuestro codigo y hacerlo generico.

descargar


comenten no sean bayuncos....

No hay comentarios:

Publicar un comentario