La classe de clé a une méthode non-abstraite getDescription() (à de nombreuses fins).PHP. Est-il possible de redéclarer la méthode non-abstraite comme abstraite?
La classe de clés est étendue par (l'un des) "une classe abstraite enfant".
"Une classe abstraite enfant" est étendue par "une classe concrète".
Je veux forcer "une classe concrète" pour implémenter la méthode getDescription() et essayer de le redéclare dans "une classe abstraite enfant" comme une méthode abstraite, mais échouer.
Alors, est-il possible de redéclarer la méthode non-abstraite comme abstraite en php? Si non - comment force une méthode concrète à mettre en œuvre?
La classe de clé. J'ai besoin de getDescription comme déclaré de cette manière à plusieurs fins.
abstract class beverage{
public $description = "Unknown beverage";
public function getDescription(){return $this->description;}
};
La classe abstraite, overriden getDescription() - mais ne fonctionne pas.
abstract class condimentDecorator extends beverage {
//public abstract function getDescription();
};
Classe de béton, qui doit reimpliment getDescription.
class milk extends condimentDecorator{
public $beverage;
public function __construct(beverage $beverage){$this->beverage = $beverage;}
public function getDescription(){return $this->beverage->getDescription().", Milk";}
};
Peut-on voir le code? – Federkun