Elementi Java modela objekta: sažetak klase, sučelje
Glavna ideja apstraktne klase leži u sljedećoj tezi: ponekad nisu potrebne pripremne nastave, ali u "sirovom" obliku. Takvi se praznici ne mogu izravno upotrijebiti (stvoriti primjerke).
sadržaj
Koji je abecedni razred u Javi?
Razmotrimo još jedan primjer. U Javi se nalazi apstraktna klasa Kalendara u Java.util paketu. To ne provede određeni kalendar, koji se koristi, na primjer, u zapadnoj i istočnoj Europi, Kini, Sjevernoj Koreji, Tajlandu, itd, ali ona ima mnoge korisne značajke, kao što su dodavanje nekoliko dana na određeni datum: .. Ove funkcije su potrebne za bilo koju provedba kalendara. Ne možete mijenjati primjer iz apstraktne klase.
Sažetak klase, Java apstraktne metode
Recimo da trebate razviti nekoliko grafičkih elemenata, na primjer, geometrijskih oblika: krug, pravokutnik, zvijezda itd. I tu je i kontejner koji ih privlači. Svaka komponenta ima drugačiji izgled, pa je odgovarajuća metoda (neka se naziva bojom) implementira drugačije. Međutim, svaka komponenta ima mnogo sličnosti: .. Lik treba uključiti u okvir može imati boju da bude vidljivo i nevidljivo, itd Drugim riječima, potrebno je stvoriti roditelj klasa za sve ove slike, gdje će svaka komponenta naslijediti opća svojstva. Ali što je s bojom? Uostalom, roditeljska klasa nema vizualni prikaz. Ako deklarirate metodu boje u svakoj klasi neovisno, morat ćete analizirati koja se komponenta obrađuje, a zatim baciti tip. Stoga, metoda treba biti deklarirana kao apstraktna u roditeljskoj klasi: postavite zaglavlje metode bez tijela. A svaka izvedena klasa će opisati svoje tijelo. U Java apstraktni razred mogu zaključiti apstraktne metode.
Ako klasa ima apstraktne metode, tada je klasa apstraktna. Prije nego što se klasa riječi stavi apstraktna riječ, u zaglavlje metode - previše. Nakon glave ove metode, trebate staviti točku sa zarezom. U Javi, abstraktna klasa ne može isticati primjere. Ako želimo zabraniti njihovo stvaranje, čak i ako klasa nema apstraktne metode, onda se klasa može proglasiti sažetakom. Ali ako klasa ima barem jednu apstraktnu metodu, onda klasa mora biti apstraktna. Nemoguće je da klasa bude i apstraktna, konačna i metoda. Metoda ne može biti apstraktna, privatna, statična, izvorna. Da bi se klase nasljednika proglašavalo ne-apstraktnim i stvorilo svoje primjere, moraju provesti sve roditeljske apstraktne metode. Sam klasa može koristiti svoje apstraktne metode.
primjer:
- abstraktni razred AClass {
- javna apstraktna netočna metoda (int a) -
- }
- klasa BClass proširuje AClass {
- javna nevidljiva metoda (int a) {
- // tijelo
- }
Varijable tipa sažetka klase su dopuštene. Mogu se upućivati na ne-apstraktni potomak ove klase ili biti nul.
Sučelja u Javi - alternativa višestrukom nasljeđivanju
Java nema više nasljedstva, jer tada postoje određeni problemi. Klasa ne može naslijediti više klasa. Ali može implementirati nekoliko sučelja.
Sučelja i apstraktne klase Java - pojmovi su slični, ali nisu isti. Sučelje se može proglasiti javnim, onda je dostupno svima, ili ne možete navesti modifikaciju javnosti, a sučelje je dostupno samo unutar paketa. Apstacijska ključna riječ nije potrebna jer je sučelje već sažetak, ali možete ga odrediti.
Deklaracija sučelja
Počinje s zaglavljem i prvo se može pratiti ključna riječ, a zatim riječ sučelje. Tada se može proširiti riječ i nabrojati sučelja iz kojih se ovo nasljeđuje. Nije dopušteno ponavljanje, a također je nemoguće da je odnos nasljeđivanja cikličan. Zatim dolazi sučelje tijelo, zatvoreno u braces. Polja elementa se deklariraju u tijelu sučelja: konstantna polja i apstraktne metode. Sva su polja javna konačna statična - svi modifikatori su neobavezni. Sve se metode smatraju javnim sažetkom - takvi se modifikatori također mogu navesti. Sada je dovoljno dovoljno govoriti o razlici apstraktnog razreda iz Java sučelja.
- javno sučelje AI proširuje B, C, D {
- // tijelo
- }
Da biste proglasili klase kao nasljednika sučelja, trebate upotrijebiti ključne alate:
- klasa AClass implementira BI, CI, DI {}
To jest, ako je naziv sučelja specificiran u deklaraciji klase nakon implementacije, tada ga klasa provodi. Nasljednici ove klase nasljeđuju svoje elemente, tako da ih i implementiraju.
Varijable tipa sučelja također su dopuštene. Oni se mogu odnositi na vrstu klase koja implementira ovo sučelje ili nul. Takve varijable imaju sve elemente klase Object, jer se objekti generiraju iz klase, a oni zauzvrat nasljeđuju iz klase Object.
U ovom smo članku pogledali neke elemente Java modela objekta - apstraktne klase, apstraktne metode, sučelja.
- Kako instalirati Java na Windows 7
- Prvi Java program je Hello World
- Java Island Riddle: Zanimljive i korisne informacije za turiste
- Sažetak slika kao način da odražava vaš unutarnji svijet
- Sažetak crteža - kako i što ga možete izvući?
- Cigare `Java`: opis i vrste
- Java polja žica. Razvrstavanje polja u Java. Dvodimenzionalni Java raspored
- Java: regularni izrazi, posebni znakovi
- Programiranje: Java. Vrste podataka
- Sažetak klasa i metoda: opis, karakteristike i značajke. Koja je razlika između apstraktne klase i…
- Java integrirano razvojno okruženje
- Java: InputStream. Ulazni tokovi
- Java Generics: Opis i metode
- Beskrajno za (Java) petlju
- BigInteger Java: radi s velikim brojem
- Java raspored. Rasporedi u Javi. Java za početnike
- Sažetak imenica i njegova uloga u jeziku
- Java: rad s datotekama - pisanje, čitanje i brisanje
- Kako omogućiti Java u Firefoxu za probleme s zaključavanjem
- Kako ukloniti java s računala? Lako je!
- Kako pisati u datoteku u Javi