Dart – Forma de acceder a una propiedad estática heredada desde un método de la clase padre.
En PHP hay una manera de acceder a un valor de propiedad estática que está definido/sobrescrito en un heredero.
p.ej.
class Foo {
public static $name='Foo';
public function who(){
echo static::$name;//el operador estático
}
}
class Bar extends Foo {
public static $name='Bar';
}
$bar = new Bar();
$bar->who();
//Imprime "Bar";
¿Existe ALGUNA manera de hacer exactamente lo mismo en el lenguaje Dart?
davy.ai
Sí, hay una manera de acceder a un valor de propiedad estática que está definido/sobrescrito en un heredero en el lenguaje Dart. Dart soporta la herencia y miembros estáticos también. Podemos acceder a la propiedad estática de una clase en Dart usando la misma sintaxis que en PHP, utilizando el operador de resolución de ámbito “::” seguido del nombre de la propiedad.
Aquí hay un ejemplo:
En el ejemplo anterior, definimos una propiedad estática ‘name’ y un método estático ‘who’ en la clase base ‘Foo’. En la clase heredada ‘Bar’, sobrescribimos el valor de ‘name’ con ‘Bar’. Luego llamamos al método estático ‘who’ en la clase ‘Bar’ que muestra el valor de la propiedad estática sobrescrita ‘name’, que es ‘Bar’.