es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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:

    class Foo {
      static String name = 'Foo';
    
      static void who() {
        print(name); // el operador estático '::'
      }
    }
    
    class Bar extends Foo {
      static String name = 'Bar';
    }
    
    void main() {
      Bar.who(); // imprime "Bar"
    }
    

    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’.

Comments are closed.