POMOC JAVA

class Klasa {

private int promenljiva;

public Klasa(){
//konstruktor, u ovom slucaju postavlja promenljivu na 0
promenljiva = 0;
}

public int getPromenljiva(){
return promenljiva;
}

public void setPromenljiva(int promenljiva){
this.promenljiva = promenljiva;
}

}


Kako cela stvar radi - private oznacava da promenljivoj moze da se pristupi samo unutar objekta, i samo unutar objekta je vidljiva. Za sve druge objekte (iste ili druge klase) ova, bas ova, promenljiva je nevidljiva, ne postoji. Jedini nacin da joj se pristupi je da napravis public, tj. javne metode, koje su vidljive van objekta (zato se i zovu javne) i u kojima ces da ispises kod koji menja privatnu promenljivu. To je moguce jer su metode u okviru objekta, pa vide sve privatne promenljive u tom objektu (cije su metode).

E sad, ovo je zgodno iz vise razloga - ako zelis da zabranis proizvoljnu izmenu promenljive, stavices samo geter , a seter mozes da ne napises, i onda promenljiva ne moze da se menja van objekta, ali moze da se cita.
Drugi razlog je ako zelis da zabranis da dva objekta istovremeno upisu u promenljivu (sto je moguce, ako imas vise niti), i onda napises seter koji ima zakljucavanje i jos neke mehanizme koji to sprecavaju.

Ako ti ovo nije bitno mozes da izbacis getere i setere i da napravis promenljivu da bude public, i onda svako moze da je menja kako mu dodje. U primeru koji sam napisao seter i geter su idiotski i glupo ih je pisati uopste. Isto bi se postiglo i bez njih.
 

Back
Top