RačunalaProgramiranje

Elementi Java objektni model: apstraktne klase, sučelje

Osnovna ideja apstraktne klase nalazi se u sljedećim tezama: ponekad ne zahtijeva cooking classes, a „mokrom” obliku. Takve praznine se ne može izravno koristiti (instancu).

Što je apstraktna klasa u Javi

Razmislite još jedan primjer. Tu je Java apstraktne klase kalendar 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 i tako dalje D. Ali to nema mnoge korisne značajke, kao što su dodavanje nekoliko dana do određenog datuma. Ove funkcije su potrebne za bilo koju kalendar provedbe. To je nemoguće proizvesti kopiju apstraktne klase.

Apstraktne klase, sažetak Java metoda

Pretpostavimo da želite razviti više grafičkih elemenata, primjerice geometrijski oblici: .. krug, pravokutnik, zvijezda, itd A postoji spremnik koji ih privlači. Svaka komponenta izgled je drugačiji, tako da je prikladna metoda (čak i ako to se zove boja) se provodi 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 metodom boje? Uostalom, roditelj klasa nije vizualni prikaz. Ako proglasiti metodu boje u svakom razredu samostalno, bit će potrebno analizirati što komponenta se obrađuje, a zatim izvršiti cast. Dakle, metoda mora biti proglašen sažetak u matičnom razredu: metoda postaviti naslov bez tijela. Tijelo svake izvedene klase će opisati svoje. U Java, apstraktne klase može ući apstraktne metode.

Ako razred ima apstraktne metode, klasa je apstraktna. Prije nego što je klasa riječ staviti ključne riječi sažetak, naziv metode - previše. Nakon naslova takvog postupka potrebno je staviti zarez. U Java, apstraktne klase ne mogu proizvoditi kopije. Ako se želi zabraniti njihovu izradu, čak i ako nema apstraktne metode klasa, klasa može biti proglašen sažetak. Ali ako razred ima barem jednu apstraktnu metodu, klasa mora biti apstraktna. Nemoguće je klasa bio i apstraktno je i konačna, te način previše. Metoda ne može biti apstraktno, privatni, statički, rodom. U podklasu moglo proglasiti ne-sažetak i oprimjeruju, oni moraju provesti sve apstraktne metode roditelja. Sama klasa može koristiti njegove apstraktne metode.

primjer:

  • apstraktne klase AClass {
  • javni sažetak Postupak void (int a) ;
  • }
  • Klasa BClass proteže AClass {
  • public void postupak (int a) {
  • // tijelo
  • }

Dopušteni varijable kao što su apstraktne klase. Oni se mogu odnositi na ne-apstraktne dijete te klase ili biti nula.

Sučelja u Javi - alternativa višestrukog nasljeđivanja

U Java, nema višestruko nasljeđivanje, jer tada postoje određeni problemi. Klasa se ne može naslijediti od nekoliko klasa. No, on može provoditi više sučelja.

Java sučelja i apstraktne klase - pojmovi su slične, ali nisu identične. Sučelje može biti proglašen kao javna, onda je na raspolaganju za sve, ili možete izostaviti mjenjanje javnosti, onda je sučelje je dostupno samo unutar pakiranja. Sažetak ključnih riječi nije potrebno, jer je sučelje i tako je apstraktna, ali možete odrediti.

Izjavu sučelje

To počinje s glavom, i mogu prvo ići na ključne javnosti, a zatim - riječ sučelja. Zatim tu može biti riječ proteže i prijenos sučelja, iz koje je taj naslijediti. To ne smije ponoviti, a to je nemoguće formirati ciklički omjer odnosa nasljedstva. Tada dolazi sučelje tijelo, zatvoren u vitičastim zagradama. U tijelu od elemenata sučelja su proglašeni: konstante polja i apstraktne metode. Sva polja su javni konačni statički - sve ove modifikatora nisu potrebne. Sve metode smatraju se javna sažetak - ti modifikatori također može biti specificiran. Sada, dosta se govori o razlici između apstraktne klase iz Java sučelja.

  • javnog sučelja AI proteže B, C, D {
  • // tijelo
  • }

Proglasiti klase sučelje nasljednika, potrebno je koristiti implementira ključne riječi:

  • klasa AClass provodi BI, CI, di {}

To jest, ako nakon klasa izjava implementira određenu naziv sučelja, njegove klasa implementira. Nasljednici ove klase dobiva svoje elemente, tako da oni također ga prodati.

Varijable jednog tipa sučelja je također dozvoljeno. Oni se mogu odnositi na vrstu klase koja implementira ovo sučelje, ili null. Takve varijable imaju sve elemente klase Object, jer su objekti generira klasa, a oni, pak, proizlaze iz klase objekta.

U ovom članku smo razgovarali neke elemente Java objektni model - apstraktne klase, apstraktne metode sučelje.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hr.atomiyme.com. Theme powered by WordPress.