Pregunta

Si tengo una clase base que contiene un VAR estático, configuro este VAR estático y luego tendrá una clase que extienda la clase base, la clase extendida conservará el valor de la var static que ya he establecidola clase base?

¿Fue útil?

Solución

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top