encapsulamento abstração?
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!