12.136 pregleda

Uvod u Java programiranje, drugi dio – objekti, nasljeđivanje, sučelja

0

Nakon malo dužeg zastoja, nastavljamo sa malom školom programiranja u Javi. U drugom dijelu ćemo saznati što su to objekti, nasljeđivanje i sučelja. Pa krenimo:

 

ŠTO JE TO OBJEKT KLASE?

Objekt ili instanca klase je zapravo varijabla određenog tipa podatka koji smo mi kao programeri sami kreirali ili preuzeli iz već postojećeg skupa klasa koje programski jezik Java nudi.

Dakle, objekt, tj. ta varijabla nije standardnog tipa podataka (String, BigDecimal, Integer, Boolean itd.), nego je nekog tipa podatka koji smo mi kreirali ili preuzeli kao već gotovu strukturu.

Objekt neke klase se kreira ključnom riječju (operatorom) new i inače se u skladu s konvencijom imenuje malim početnim slovom, dok klase počinju velikim slovom.

Primjer objekta i klase smo mogli vidjeti i u prošlom tekstu gdje smo imali:

Scanner unos = new Scanner(System.in)

Scanner je klasa, a unos je objekt ili instanca te klase.

 

KLASE U JAVI:

Definicija klase koju koristimo kao naš poseban tip podatka započinje ključnom rječju class, nakon čega slijedi njeno ime, a zatim ju unutar vitičastih zagrada strukturiramo po potrebi.

Svaka klasa ima svoj konstruktor. Konstruktor je metoda (funkcija) istog imena kao i sama klasa koja nema povratni tip podatka, i pri kreiranju, tj. instanciranju objekta te klase, prva se izvršava.

Konstruktor može primati ulazne parametre, a može biti i bez parametara (prazan konstruktor). Njegova je zadaća da postavlja varijable na početne (inicijalne) vrijednosti.

Ako se u klasi striktno ne definira konstruktor, kompajler će tada sam pozvati prazan konstruktor iz klase Object (java.lang. Object je temeljna ili vrhovna klasa koju sve ostale klase u Javi nasljeđuju izravno ili neizravno). Ako je klasa naslijedila neku drugu klasu, tada će se pozvati konstruktor nadklase (superklase).

 

MODIFIKATORI PRISTUPA:

U programskom jeziku Java tri najčešće korištena modifikatora pristupa za varijable su private, protected i public.

Ako varijabla ima postavljen private modifikator pristupa, tada je vidljiva samo unutar klase u kojoj je definirana.

Ako ima postavljen public modifikator pristupa, tada joj se može pristupiti s bilo kojeg mjesta u programskom kodu.

Protected modifikator pristupa je kombinacija private i public pristupa, tj. varijabla je vidljiva unutar klase gdje je definirana, u podklasama koje su izvedene (nasljeđene) od te klase i paketa unutar kojeg se ta klasa nalazi.

Prema objektno-orijentiranoj paradigmi, svim varijablama klase se daje private modifikator pristupa da se ne bi mogle neovlašteno mijenjati bilo gdje unutar programskog koda. Njima se manipulira koristeći posebne metode za dohvat trenutnih i postavljanje novih vrijednosti – tzv. get i set metode.

 

GET I SET METODE:

Set metode (ili popularno nazvane setteri), kao povratni tip podatka imaju void jer ništa ne vraćaju kao povratnu vrijednost, a kao ulazni parametar imaju novu vrijednost varijable.

Get metode (getteri), imaju povratni tip podatka koji je istog tipa kao i sama varijabla jer vraća trenutno stanje varijable, ali zato ništa ne prima kao ulazni parametar.

U razvojnom alatu Eclipse možete automatski generirati get i set metode tako da stisnete desni klik miša – Source – Generate Getters and Setters…

slika1

slika2

 

 

NASLJEĐIVANJE U JAVI:

Za razliku od programskog jezika C++, u Javi (slično kao i u C# programskom jeziku) je moguće samo jednostruko nasljeđivanje, ali zato je moguće implementirati više sučelja.

Nasljeđivanje se ostvaruje korištenjem ključne riječi extends prema sljedećem receptu:

class <ime nove klase> extends <klasa koja se nasljeđuje>

Klasa koja se nasljeđuje, tj. klasa koja se koristi kao recept za kreiranje nove klase se zove bazna klasa, nadklasa ili super klasa.
Klasa koja se kreira kao posljedica nasljeđivanja zove se podklasa.

Pri nasljeđivanju podklasa nasljeđuje sva svojstva nadklase (sve varijable, metode i konstruktor) koja se nalaze unutar bazne klase.

Kod nasljeđivanja bazna klasa se u većini slučajeva proglasi apstraktnom klasom, što znači da se iz nje ne mogu direktno instancirati novi objekti, nego se prvo mora naslijediti, pa se tek iz nove nasljeđene klase mogu instancirati objekti.

 

APSTRAKTNE KLASE:

Klasa se proglasi apstraktnom tako da joj se doda modifikator abstract. Iz nje se ne mogu direktno instancirati objekti, nego više služi kao početna baza za smislena nasljeđivanja.

Apstraktne klase mogu sadržavati i apstraktne metode. Slično kao i kod klase, metoda se proglasi apstraktnom tako da joj se doda abstract modifikator pristupa, i ona sadrži samo prototip metode, dok se implementacija metode radi u nasljeđenoj klasi.

Ako klasa sadrži više apstraktnih metoda, tada sve moraju biti implementirane u nasljeđenoj klasi, inače će i nasljeđena klasa biti apstraktna.

slika3

slika4

slika5

 

 

SUČELJA:

Sučelja se koriste da bi se dodatno obogatile nasljeđene klase s par dodatnih metoda. Za razliku od klasa, započinju ključnom riječju interface.

U njima se nalaze samo prototipi metoda, dok se implementacija metoda (slično kao i kod apstraktnih klasa i metoda) radi u klasama koje implementiraju navedeno sučelje.

Ako klasa implementira određeno sučelje, tada ona mora implementirati sve metode iz toga sučelja.

slika6

slika7

slika8

 

INSTANCEOF OPERATOR:

Ako želimo provjeriti koji objekt pripada kojoj klasi, možemo koristiti instanceof operator.

slika9

 

Prvi dio tečaja potražite na ovoj poveznici.

Autor:os7een

VN:F [1.9.22_1171]
Rating: 4.3/5 (6 votes cast)
Uvod u Java programiranje, drugi dio - objekti, nasljeđivanje, sučelja, 4.3 out of 5 based on 6 ratings

Ostavi komentar

© 2017 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.