Witam,
Mam dwa działające rozwiązania, tylko różnica jest w funkcji warunkowej IF. W jednej pobieram wartość za pomocą gettera, natomiast w drugiej odwołuję się do zmiennej wewnątrz klasy obiektu. Którego rozwiązania powinienem się trzymać? Które jest bardziej praktyczne i zgodne tzw. ze sztuką programowania?
Rozwiązanie nr 1:
List<Client> myClient = new ArrayList<>();
public class Client {
private final String firstName;
private final String lastName;
protected String cID;
protected boolean subscription = false;
}
public int getNumberOfSubsrtipion(){
int count = 0;
for( Client myCustomer: myClient ){
if( myCustomer.subscription ){
count += 1;
}
}
return count;
}
Rozwiązanie nr 2:
List<Client> myClient = new ArrayList<>();
public class Client {
private final String firstName;
private final String lastName;
protected String cID;
private boolean subscription = false;
protected boolean getSubscription(){
return this.subscription;
}
}
public int getNumberOfSubsrtipion(){
int count = 0;
for( Client myCustomer: myClient ){
if( myCustomer.getSubscription() ){
count += 1;
}
}
return count;
}
Jako, że od niedawna uczę się programowania w Javie, to prosiłbym o kilka słów wytłumaczenia tego problemu.
Z góry dziękuję za pomoc.