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.