DEV Community

Cover image for Interfaces e Polimorfismo
Antonio Wanderley Serra
Antonio Wanderley Serra

Posted on • Updated on

Interfaces e Polimorfismo

Interfaces em Java:
O que é uma Interface?
Uma interface em Java é como um contrato que define um conjunto de métodos que uma classe deve implementar. É uma estrutura que define o que uma classe deve fazer, mas não como ela deve fazer. As interfaces são usadas para alcançar a abstração e a reutilização de código.

Exemplo:
Suponha que você esteja criando um sistema de formas geométricas e deseja garantir que todas as formas tenham um método calcularArea(). Você pode criar uma interface chamada Forma para definir esse contrato:

public interface Forma {
    double calcularArea();
}
Enter fullscreen mode Exit fullscreen mode

Agora, qualquer classe que queira representar uma forma geométrica deve implementar essa interface e fornecer uma implementação para o método calcularArea().

public class Circulo implements Forma {
    private double raio;

    public Circulo(double raio) {
        this.raio = raio;
    }

    @Override
    public double calcularArea() {
        return Math.PI * raio * raio;
    }
}
Enter fullscreen mode Exit fullscreen mode

Polimorfismo em Java:
O que é Polimorfismo?
Polimorfismo em Java permite que objetos de diferentes classes sejam tratados de maneira uniforme, desde que compartilhem um contrato comum, como uma interface. Isso significa que você pode chamar métodos em um objeto sem saber exatamente qual classe o objeto pertence.

Exemplo:
Vamos usar o exemplo anterior com a interface Forma. Agora, podemos criar uma matriz de objetos de diferentes formas e calcular suas áreas sem se preocupar com as classes específicas:

public class Main {
    public static void main(String[] args) {
        Forma[] formas = new Forma[2];
        formas[0] = new Circulo(5);
        formas[1] = new Retangulo(4, 6);

        for (Forma forma : formas) {
            System.out.println("Área da forma: " + forma.calcularArea());
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Não esqueça de deixar seu like ❤️

Neste exemplo, Circulo e Retangulo são classes diferentes que implementam a interface Forma. O polimorfismo permite que tratemos todos os objetos como objetos Forma, independentemente de suas classes específicas.

Isso é uma simplificação, mas espero que ajude a entender os conceitos básicos de Interfaces e Polimorfismo em Java. Eles são fundamentais para criar código flexível e reutilizável em muitos projetos Java.

Agora vocês já está pronto para aprender sobre listas
Clique aqui para aprender🚀

Linkedin: https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/
GitHub: https://github.com/antoniorws

Top comments (0)