Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Interfaces em Dart

Olá O Dart não possui a palavra chave "interface"? Devo implementar sempre classes abstratas ao invés disso?

Obrigado!

1 resposta
solução!

Olá, Eduardo, tudo bem?

Quando se trata da linguagem de programação Dart, é importante notar que ela não inclui a palavra-chave "interface" como é comum em algumas outras linguagens. No contexto de Dart, toda classe já assume implicitamente o papel de uma interface. Isso significa que você pode considerar qualquer classe como uma interface e então implementar seus métodos e propriedades em outras classes.

Para ilustrar, imagine que você tenha uma classe chamada 'Animal' com um método chamado 'falar()'. Nesse cenário, é possível utilizar a classe 'Animal' como se fosse uma interface em outra classe, por exemplo, 'Cachorro', e então proceder com a implementação do método 'falar()' nessa classe secundária.

class Animal {
  void falar() {}
}

class Cachorro implements Animal {
  @override
  void falar() {
    print('Au au!');
  }
}

Nesse caso, 'Animal' está atuando como uma interface, mesmo que não tenhamos usado a palavra-chave 'interface'.

No entanto, se você quiser garantir que certos métodos ou propriedades estejam presentes em uma classe sem fornecer uma implementação, você pode usar classes abstratas. As classes abstratas em Dart podem ter métodos e propriedades normais (que têm implementações) e métodos e propriedades abstratas (que não têm implementações).

Abaixo deixo o link da documentação para consulta. Ele está em inglês, mas você pode utilizar o tradutor automático do navegador, caso se sinta mais confortável.

Espero ter ajudado.

Caso surja alguma dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software