Sobes.tech
Junior — Middle

É possível substituir métodos ou propriedades na linguagem Dart?

sobes.tech IA

Resposta da IA

Sim, na linguagem Dart é possível sobrescrever métodos e propriedades em classes derivadas.

Para isso, na subclasse deve-se declarar um método ou um getter/setter com o mesmo nome que na classe base. Recomenda-se usar a anotação @override para indicar explicitamente a sobrescrita.

Exemplo:

class Animal {
  void speak() {
    print('Som de animal');
  }

  String get name => 'Animal';
}

class Dog extends Animal {
  @override
  void speak() {
    print('Latido');
  }

  @override
  String get name => 'Cão';
}

void main() {
  var dog = Dog();
  dog.speak(); // Vai imprimir: Latido
  print(dog.name); // Vai imprimir: Cão
}

Dessa forma, Dart suporta a sobrescrita de métodos e propriedades para implementar o polimorfismo.