1.1k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

ich habe gerade ein problem. ich habe mal einen beispielhaften code hier:

abstract class Vater {
public static abstract function get_name();

public static function ausgabe() {
print_r(self::get_name());
}
}
class Kind extends Vater {
public static function get_name() {
return 'Hans';
}
}

Kind::ausgabe(); // Geht net...

Ich habe eine Lösung aber die ist hässlich. und es geht auch nicht darum das Objekt zu erstellen (nur Beispielhaft hier).

es würde gehen wenn ich die parameter noch ändere und schreibe

Kind::ausgabe(Kind::get_name());

aber das will ich ja nicht.

Hat jemand ein ähnliches Problem mal gehabt und kann mir helfen?
Vielen Dank

ciao, denny

1 Antwort

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ich verstehe dein Problem - so richtig scheint das nicht möglich zu sein :(
Laut www.php.net/manual/en/language.oop5.late-static-bindings.php wäre evt. get_called_class() dafür geeignet, kann ich nur leider nicht ausprobieren.
...