public class Movie {
String name;
int yearOfRelease;
boolean includedInThePlan; // se o usuário possui ou não um plano compatível com a disponibilidade do filme
private double rating; // média das avaliações
private int totalRating; // total de avaliações recebidas
int runtime;
void show(){
System.out.println("Movie Title: " + name);
System.out.println("Year of Release: " + yearOfRelease);
System.out.println("Runtime: " + runtime + " minutes");
System.out.println("Rating: " + String.format("%.2f", rating));
System.out.println("Number of Ratings: " + totalRating);
if(includedInThePlan) {
System.out.println("Available with your plan");
}
}
void rateIt(double yourRating){
rating = (rating * totalRating +yourRating)/(totalRating+1);
totalRating++;
}
}
public class Main{
public static void main(String[] args){
Movie myMovie = new Movie();
myMovie.name = "O Poderoso Chefão";
myMovie.yearOfRelease = 1970;
myMovie.runtime = 180;
myMovie.includedInThePlan = false;
myMovie.rateIt(8);
myMovie.rateIt(10);
myMovie.rateIt(8.5);
myMovie.rateIt(7);
myMovie.rateIt(10);
myMovie.show();
}
}
Referente ao curso de Orientação à objetos, aula sobre "características privadas", o meu programa não causou erro algum após eu adicionar o "private" na avaliação e o total de avaliações, e eu ainda consigo mudar a nota utilizando o método "rateIt", sem problema nenhum, mesmo com o private. Isso ainda sim é seguro para a empresa? Eu deveria desfazer o método rateIt e fazer um método para soma, depois um para a média? Pois o show, acredito eu, não deveria ser capaz de mostrar o valor que está privado, pode ser que eu tenha entendido errado. Eu não usei nenhum "get". Agradeço desde já