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
- 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
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
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(); } }
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)