encapsulamento abstração?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
encapsulamento abstração?
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!