Projektiranje i stvaranje objekata

Ako ste novi u objektima, najvjerojatnije ćete se koristiti za kreiranje Java programa pomoću samo jedne datoteke - datoteke glavne klase Java. To je klasa koja ima glavnu metodu definiranu za početnu točku Java programa.

Definicija klase u sljedećem koraku treba se spremiti u zasebnu datoteku. Slijedite iste smjernice imenovanja kao i vi za glavnu datoteku klase (tj. Naziv datoteke mora odgovarati imenu klase s nastavkom datoteke .java). Na primjer, dok pravimo klasu Book, sljedeća deklaracija klase trebala bi biti spremljena u datoteku pod nazivom "Book.java".

Podaci koje objekt posjeduje i kako manipulira tim podacima određuju se stvaranjem klase. Na primjer, ispod je vrlo osnovna definicija klase za objekt Book:

Polja se koriste za pohranjivanje podataka o objektu, a zajedno čine stanje objekta. Dok pravimo objekt Knjige ima smisla čuvati podatke o naslovu knjige, autoru i izdavaču knjige:

Polja su samo normalne varijable s jednim važnim ograničenjem - moraju koristiti modifikator pristupa "privatno". Privatna ključna riječ znači da se tim varijablama može pristupiti samo iz klase koja ih definira.

instagram viewer

Bilješka: Java prevoditelj ovo ograničenje ne provodi. Možete napraviti javnu varijablu u definiciji svoje klase i Java jezik se na to neće žaliti. Međutim, vi ćete prekršiti jedan od temeljnih principa objektno orijentiranog programiranja - podataka ovijanje. Stanju vaših objekata mora se pristupiti samo njihovim ponašanjem. Ili u praktičnom smislu, poljima vaše klase mora se pristupiti samo metodom vaše klase. Na vama je da nametnete enkapsulaciju podataka na objektima koje stvorite.

Metoda konstruktora koristi isti naziv kao i klasa (tj. Book) i mora biti javno dostupna. Uzima vrijednosti varijabli koje su u nju prenesene i postavlja vrijednosti polja klase; čime se objekt postavlja u početno stanje.

Ponašanja su radnje koje objekt može izvesti i zapisani su kao metode. Trenutno imamo klasu koja se može inicijalizirati, ali ne čini puno drugo. Dodajmo metodu pod nazivom "displayBookData" koja će prikazati trenutne podatke u objektu:

Mogli bismo dodati onoliko metoda i polja koliko želimo, ali za sada razmotrimo klasu Book kao cjelovitu. Ima tri polja za čuvanje podataka o knjizi, može se inicijalizirati i može prikazati podatke koje sadrži.

Na lijevoj strani znaka jednake je deklaracija objekta. To znači da želim napraviti Knjižni objekt i nazvati ga "prvom knjigom". Stvaranje nove instance objekta Knjige na desnoj strani znaka jednake je. Ono što treba učiniti je otići u definiciju klase Book i pokrenuti kôd unutar metode konstruktora. Tako će se stvoriti nova instanca objekta Book s naslovima, poljima autora i izdavača postavljenim na „Horton Hears A Who!“, „Dr Suess“ i „Random House“. Konačno, znak equals postavlja našem novom firstBook objektu novu instancu klase Book.

instagram story viewer