1
resposta

[Dúvida] encapsulamento abstração?

encapsulamento abstração?

1 resposta

Oii, Levi!

Em programação orientada a objetos, como é o caso do Java, esses são dois conceitos muito importantes.

Encapsulamento é um princípio que busca proteger os dados de um objeto, tornando-os acessíveis apenas através de métodos específicos. Isso é feito através da definição de níveis de acesso (como private, public e protected) para os atributos e métodos de uma classe. Por exemplo, no caso do projeto Screen Match, poderíamos ter um atributo private incluidoNoPlano na classe Filme e métodos públicos para alterar e obter o valor desse atributo. Dessa forma, o atributo incluidoNoPlano estaria protegido (ou encapsulado) e só poderia ser acessado ou alterado através desses métodos.

public class Filme {
    private boolean incluidoNoPlano;

    public boolean isIncluidoNoPlano() {
        return incluidoNoPlano;
    }

    public void setIncluidoNoPlano(boolean incluidoNoPlano) {
        this.incluidoNoPlano = incluidoNoPlano;
    }
}

Já a abstração é um princípio que nos permite representar entidades do mundo real como objetos em nossa programação. Isso é feito através da criação de classes, que são como "modelos" para os objetos. Cada classe define os atributos (características) e métodos (ações) que os objetos dessa classe terão. No projeto Screen Match, a classe Filme é uma abstração de um filme do mundo real, com atributos como nome, anoDeLancamento, incluidoNoPlano, entre outros.

public class Filme {
    String nome;
    int anoDeLancamento;
    boolean incluidoNoPlano;
    double avaliacao;
    int totalDeAvaliacoes;
    int duracaoEmMinutos;
}

Espero ter ajudado e bons estudos!