Korištenje pristupa i mutatora na Javi

click fraud protection

Jedan od načina na koji se možemo provesti kapsulacija podataka je kroz upotrebu pribora i mutatora. Uloga pribora i mutatora je da vrate i postave vrijednosti stanja objekta. Naučimo kako programirati pristupnike i mutatore u sustavu Java. Kao primjer, upotrijebit ćemo a Klasa osoba s već definiranim stanjem i konstruktorom:

Načini pristupa

pristupnik metoda se koristi za vraćanje vrijednosti privatnog polja. Slijedi shema imenovanja prefiksa riječi "get" na početak naziva metode. Na primjer, dodajmo pristupne metode za ime, prezime i prezime:

Ove metode uvijek vraćaju istu vrstu podataka kao i njihovo odgovarajuće privatno polje (npr. String), a zatim jednostavno vraćaju vrijednost tog privatnog polja.

Njihovim vrijednostima sada možemo pristupiti metodama predmeta Osoba:

Metode mutatora

Mutatorska metoda koristi se za postavljanje vrijednosti privatnog polja. Slijedi shema imenovanja prefiksa riječi "set" na početak naziva metode. Na primjer, dodajmo polja mutatora za adresu i korisničko ime:

instagram viewer

Ove metode nemaju povratni tip i prihvaćaju parametar koji je isti tip podataka kao i njihovo odgovarajuće privatno polje. Parametar se zatim koristi za postavljanje vrijednosti tog privatnog polja.

Sada je moguće mijenjati vrijednosti za adresu i korisničko ime unutar objekta Osoba:

Zašto koristiti pribor i mutatore?

Lako je doći do zaključka da bismo samo mogli promijeniti privatna polja definicije klase u javna i postići iste rezultate. Važno je zapamtiti da želimo podatke objekta sakriti što je više moguće. Dodatni pufer ove metode nam omogućuju:

  • Promijenite način na koji se podaci obrađuju iza scene.
  • Nametajte provjeru vrijednosti na koja se postavljaju polja.

Recimo da smo odlučili izmijeniti način na koji pohranjujemo srednja imena. Umjesto samo jednog niza, sada možemo koristiti niz Strings:

Implementacija unutar objekta promijenila se, ali vanjski svijet nije pogođen. Način na koji se metode nazivaju ostaje potpuno isti:

Ili, recimo da aplikacija koja koristi objekt Person može prihvatiti samo korisnička imena koja sadrže najviše deset znakova. Možemo dodati provjeru u mutator setUsername kako bismo bili sigurni da korisničko ime udovoljava ovom zahtjevu:

Ako je korisničko ime proslijeđeno mutatoru setUsername duže od deset znakova, automatski se skraćuje.

instagram story viewer