Elementos, funciones, objeto en PHP
/

Las clases abstractas en la Programación Orientada a Objetos en PHP

Estas clase son aquellas que no se instancian. Esto significa que no se crea ningún objeto en la clase. Sin embargo, las clases abstractas pueden servir de base para definir una subclase que sí puede instanciarse siempre que esta subclase no sea igualmente abstracta.

El método abstracto debe estar definido en una clase (abstracta) y nunca puede ser privado.  Para que quede definida la clase se utiliza la palabra clave ‘abstract’ antes de la definición de la clase o método.

Si la subclase no desarrolla o implementa todos los métodos abstractos de la superclase es implícitamente abstracta aunque no se haya declarado con la palabra ‘abstract’.

Ejemplo:

Definición de una clase abstracta


<?php
   abstract class superclase {
      //atributo protegido
      protected $x;
      //dos métodos para acceder al atributo protegido
      // 1) lectura
      public function get () {
        return "GET = $this->x";
      }
      // 2) escritura
      abstract public function put ($valor);
   }
?>

Definición de una subclase que hereda de la superclase


<?php
   class subclase extends superclase {
      //implementación del método de escritura.
      public function put ($valor) {
         $this->x = $valor;
      }
   }
?>

Utilización de la subclase


<?php
   $objeto = new subclase (); //instanciación
   $objeto->put ("altruistas.org");
   echo $objeto->get (), '<br>'; //por herencia
?>

Ejecutar ejemplo

 

Deja una respuesta