Na wstępie podam kod progamu:
import java.util.Scanner;
public class zad1
{
private int suma;
public int getSuma()
{
return suma;
}
public void setSuma(int suma)
{
this.suma = suma;
}
public void dodawanie(int liczba)
{
zad1 z = new zad1();
z.setSuma(suma+=liczba);
}
public static void main(String[] args)
{
zad1 za = new zad1();
Scanner wejscie = new Scanner(System.in);
int liczba=0,zlicz=0;
do
{
System.out.println("Podaj liczby, do zastopowania podaj liczbe 0: ");
liczba = wejscie.nextInt();
za.dodawanie(liczba);
zlicz++;
}
while(liczba!=0);
System.out.println("Suma liczb wynosi: " + za.getSuma());
System.out.println("Podałeś "+ (zlicz-1) + " liczb");
}
}
Program ma za zadanie prosic o kolejne liczby i je sumowac, az do momentu kiedy uzytkownik poda liczbe 0.
Na poczatku wszystko było w mainie, potem podzieliłem program na metode sumowania oraz settery i gettery dla pola suma.
Pytanie jest takie: czy to ogole powinno byc podzielone na settery gettery? czy raczej na jedną metode statyczna? w koncu te obiekty tylko utrudniaja prace?
No i ciekawi mnie linijka:
public void dodawanie(int liczba)
{
zad1 z = new zad1();
z.setSuma(suma+=liczba);
}
Otoz od kiedy poznalem zasade hermetyzacji, jakos mocno sie mnie ona trzyma. A w niektorych tutorialach widuje, ze w metodach pola np. inkrementowane są po prostu: " nazwa_pola++; " zamiast przez setter. To jest poprawne?
Przykład takiego działania:
Minuta: 7:05 - chwile po zainicjowaniu pola ustawia wartosc nextId i ID
prosze o wsparcie ;)
pozdrawiam!