Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2006, 10:24
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Clases abstractas no me funcionan...y en el manual "Si"

Hola... estoy practicando el manual de PHP.. ya que por el momento no tengo libros... y ni siquiera copiando el codigo funciona.. jaja
Estoy viendo el tema de clases abstractas...
Código PHP:
<?php
abstract class AbstractClass
{
   
// Force Extending class to define this method
   
abstract protected function getValue();
   abstract protected function 
prefixValue($prefix);

   
// Common method
   
public function printOut() {
       print 
$this->getValue() . "\n";
   }
}

class 
ConcreteClass1 extends AbstractClass
{
   protected function 
getValue() {
       return 
"ConcreteClass1";
   }
  
   public function 
prefixValues($prefix) {
       return 
"{$prefix}ConcreteClass1";
   }
}

class 
ConcreteClass2 extends AbstractClass
{
   protected function 
getValue() {
       return 
"ConcreteClass2";
   }

   public function 
prefixValue($prefix) {
       return 
"{$prefix}ConcreteClass2";
   }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo 
$class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo 
$class2->prefixValue('FOO_') ."\n";
?>
Al ejecutarlo me sale:
Fatal error: Class ConcreteClass1 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (AbstractClass::prefixValue) in c:\Inetpub\wwwroot\PHP\abstract2.php on line 23
A que se debe el error?
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.