PlugIn Manager entwickeln
bearbeitet von Rolf BHallo pl,
> So muß z.B. eine interface-Erweiterung sämtliche Methoden definieren die das Basis-Interface vorschreibt.
Unter Erweiterung verstehst Du `extends`, nicht `implements`, ja?
Dann wär deine Aussage seit PHP 5.3 falsch.
~~~php
interface IAnimal {
public function move();
}
interface IMammal extends IAnimal {
public function move(); // unnötig!
public function cry();
}
~~~
Das kann man machen, muss man aber nicht. Die move-Methode muss in IMammal nicht angegeben werden.
Oder sowas hier?
~~~php
abstract class Animal implements IAnimal {
public function move() {
echo "Hä? Wie geht das?<br>";
}
}
class Cat extends Animal implements IMammal {
public function move() {
echo "Tapp Tapp Tapp<br>";
}
public function cry() {
echo "Miau<br>";
}
}
~~~
Vor PHP 5.3 wäre Cat::move obligatorisch gewesen. Meldung aus dem [Sandkasten](http://sandbox.onlinephpfunctions.com/):
> Fatal error</b>: Can't inherit abstract function IAnimal::move()
Seit Version 5.3 ist PHP aber auch mit der geerbten Animal::move Methode glücklich. Die Katze nicht, aber darum geht's ja hier nicht…
_Rolf_
--
sumpsi - posui - clusi