DEV Community

Cover image for Interface | Explicação Completa (Definição, uso, estrutura e exemplo com C#)
Daniela "Ingeniela" Barazarte
Daniela "Ingeniela" Barazarte

Posted on

Interface | Explicação Completa (Definição, uso, estrutura e exemplo com C#)

Interface | Explicação Completa (Definição, uso, estrutura e exemplo com C#)

Introdução

Olá, meu nome é Daniela Barazarte e quero dar as boas-vindas a esta explicação completa da interface. Esta explicação será intuitiva e simples assim como todas as explicações que fazem parte do #DetectaLaLogica.

Se você preferir vídeos, aqui está um tutorial completo feito por mim no YouTube, é em espanhol, mas também tem legendas: https://www.youtube.com/watch?v=UbZORJzMQec

Teoria

Definição de cada palavra

"Padrão de design"

  • Padrão: é um tipo de eventos ou objetos repetitivos Padrão de design
  • Design: atividade criativa cujo objetivo é projetar objetos úteis e estéticos

"Interface"

  • Interface: zona de comunicação ou ação de um sistema sobre outro Lápis e papel representando a Interface

Definição completa

O padrão de design de interface é uma especificação de métodos e propriedades que uma classe deve fornecer, e qualquer classe que implemente essa interface está comprometida em fornecer esses métodos e propriedades.

#DetectTheLogic

A palavra "Interface" é definida como "zona de comunicação ou ação de um sistema sobre outro". O padrão de design de interface é assim chamado porque uma interface está conversando com uma classe para informar quais parâmetros essa classe deve ter. É como um contrato onde a interface declara quais componentes ela possui e a classe também deve ter esses componentes.

Usar

Para que

A interface é usada para definir uma interface comum que pode ser implementada por várias classes diferentes. Esse padrão permite que essas classes tenham comportamentos diferentes enquanto aderem a uma mesma interface, proporcionando flexibilidade e modularidade ao aplicativo.

Quando e como

  • Por ter várias classes que devem obedecer a um conjunto específico de comportamentos
  • Por ter uma estrutura comum para plugins ou módulos externos que devem obedecer a um conjunto específico de comportamentos
  • Ao criar um aplicativo que deve ser compatível com diferentes arquiteturas de sistemas distribuídos
  • Ao criar um aplicativo que deve ser facilmente extensível e modular

Praticar

Exercício

Tens de criar um projeto de consola onde tens vários animais e podes escrever na consola o som que cada um deles faz

Método: Interface

Interface

A parte laranja (acima): é uma interface Animal
A parte azul (abaixo): são implementações dessa interface, no caso, 3 animais (gato, cachorro, pássaro)

animal de interface pública { void MakeSound(); void CallFriend(); } public class Cachorro: IAnimal { public void MakeSound() { Console.WriteLine("Uau! Woof!"); } public void CallFriend() { Console.WriteLine("Vamos amigo cão!"); } } public class Gato: IAnimal { public void MakeSound() { Console.WriteLine("Miau! Miau!"); } public void CallFriend() { Console.WriteLine("Vamos amigo gato!"); } } classe pública Pássaro: IAnimal { public void MakeSound() { Console.WriteLine("Tweet Tweet! Uau!"); } public void CallFriend() { Console.WriteLine("Vamos amigo passarinho!"); } } programa de classe pública { public static void Main() { IAnimal meuGato = new Gato(); IAnimal meuCão = new Cachorro(); IAnimal meuPássaro = new Pássaro(); meuCat.MakeSound(); myCat.CallFriend(); myDog.MakeSound(); myDog.CallFriend(); meuPássaro.MakeSound(); myBird.CallFriend(); } } 
Enter fullscreen mode Exit fullscreen mode

Ter uma interface "Animal" que implementa "Bird", "Dog" e "Cat" é benéfico porque fornece uma abstração útil que permite um alto nível de flexibilidade e extensibilidade no design de software. Ao definir uma interface "Animal", você estabelece certos comportamentos e características que todos os animais devem ter, como a capacidade de se mover e respirar.

A implementação dessa interface em "Bird", "Dog" e "Cat" garante que todos tenham essas características comuns e possam ser usados ​​de forma intercambiável no código que requer um objeto "Animal". Isso permite que o código seja mais modular e escalável, pois novos tipos de animais em conformidade com a interface "Animal" podem ser facilmente adicionados sem a necessidade de alterar o código existente.

Importância

O padrão de design de interface tem vários benefícios:

  • Abstração: As interfaces permitem definir um conjunto de métodos e propriedades que devem ser implementados por uma classe que os implemente. Isso permite que você abstraia a implementação de uma classe por trás de uma interface, tornando seu código mais fácil de entender e manter.
  • Separação de preocupações: Ao definir interfaces, você pode separar claramente a interface do usuário da lógica de negócios. Isso permite que as diferentes partes de um aplicativo se comuniquem por meio de interfaces bem definidas.
  • Polimorfismo: Interfaces permitem polimorfismo, o que significa que uma classe que implementa uma interface pode ser tratada como se fosse daquele tipo de interface. Isso permite que as classes que implementam a mesma interface sejam usadas de forma intercambiável em diferentes partes do código, facilitando a reutilização e a manutenção do seu código.

Até a próxima

(Lembre-se) #DetectaLaLógica: A palavra "Interface" é definida como "zona de comunicação ou ação de um sistema sobre outro". O padrão de design de interface é assim chamado porque uma interface está conversando com uma classe para informar quais parâmetros essa classe deve ter. É como um contrato onde a interface declara quais componentes ela possui e a classe também deve ter esses componentes.

Você pode praticar este tópico em meu repositório GitHub (código da linguagem C#): https://github.com/danielabarazarte/DetectaLaLogica

Muito obrigado por ler, se tiver alguma dúvida pode comentar e também pode me seguir para ver mais posts desse estilo, obrigado <3.

Top comments (0)