Haben erweiterte Klassen statische VAR-Werte (PHP) erben?
-
15-11-2019 - |
Frage
Wenn ich eine Basisklasse habe, die einen statischen VAR enthält, setze ich diesen statischen VaR ein, und dann eine Klasse, die die Basisklasse erweitert, wird die erweiterte Klasse den Wert des statischen Variums behalten, in dem ich bereits eingerichtet habedie Basisklasse?
Lösung
Yes, although they're different variables, the static variables in both classes are in the same reference set.
You can break this reference set though, by using reference assignment (=&
) or by redeclaring it in the extended class:
class base {
public static $var;
}
class extended extends base {}
extended::$var = 8; // base::$var == 8
$t = 6;
extended::$var =& $t; // base::$var == 8; extended::$var == 6
class base {
public static $var;
}
class extended extends base {
public static $var;
}
extended::$var = 8; // base::$var == null; extended::$var == 8
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow