RačunalaProgramiranje

Elementi Java modela objekta: apstraktna klasa, interfejsa

Osnovna ideja je apstraktna klasa je sadržana u sljedećim teza: ponekad ne zahtijeva cooking classes, a u "mokro" obliku. Takve praznine se ne može direktno koristiti (instanciramo).

Ono što je apstraktna klasa u Javi

Razmotrimo još jedan primjer. Tu je i Java apstraktnu klasu Kalendar u java.util paketu. To ne implementira određenu kalendara, koji se koristi, na primjer, u zapadnoj i istočnoj Evropi, Kini, Sjevernoj Koreji, Tajland, itd Ali to imaju mnoge korisne funkcije, kao što je dodavanje nekoliko dana do određenog datuma: .. Ove funkcije su potrebne za bilo koju kalendar implementacije. Nemoguće je napraviti kopiju apstraktne klase.

Apstraktne klase, apstraktne metode Java

Pretpostavimo da želite da se razvije više grafičkih elemenata, npr geometrijskih oblika: .. A krug, pravougaonik, zvijezda, itd A tu je i kontejner koji ih privlači. Svaka komponenta izgled je drugačiji, tako da je prikladan način (čak i ako to se zove boja) je implementiran drugačije. Međutim, svaka komponenta ima mnogo sličnosti: .. Lik treba da budu uključeni u kutiji mogu imati boju da bude vidljiv i nevidljiv, itd Drugim riječima, potrebno je da se stvori roditeljske klase za sve ove brojke, gdje će svaka komponenta naslijediti opštih svojstava. Ali šta je metoda boja? Na kraju krajeva, roditeljske klase nije vizuelne reprezentacije. Ako samostalno proglasiti način boje u svakoj klasi, to će biti potrebno analizirati ono što komponenta se obrađuje, a zatim izvršite cast. Dakle, metoda mora biti proglašen apstraktne u klasi roditelja: metoda postavljanje naslova bez tela. Tijelo svake izvedene klase će opisati svoje. U Javi, apstraktna klasa može da uđe u apstraktne metode.

Ako je klasa ima apstraktne metode, klasa je apstraktna. Prije klase riječ stavio ključnu apstraktno, naziv je metoda - previše. Nakon naslova metoda, kao što je potrebno da se stavi zarez. U Javi, apstraktna klasa ne može proizvesti kopije. Ako želimo da zabrani njihovo stvaranje, čak i ako ne postoji apstraktna metoda klase, klasa može biti proglašen apstraktno. Ali, ako je klasa ima najmanje jedan apstraktan način, klase mora biti apstraktna. Nemoguće je klasa je i apstraktna je, i konačna, i način previše. Metoda ne može biti apstraktna, privatne, statički, native. Da podklasa se moglo proglasiti ne-apstraktno i instanciramo, moraju implementirati sve apstraktne metode roditelja. Sama klasa može koristiti svoje apstraktne metode.

primjer:

  • apstraktna klasa aKlasa {
  • javne apstraktne metode void (int a) ;
  • }
  • klase BClass proširuje aKlasa {
  • public void metoda (int a) {
  • // tijelo
  • }

Dozvoljeno varijable kao što je apstraktna klasa. Oni se mogu odnositi na ne-apstraktne dijete te klase ili biti null.

Interfejsa u Java - alternativa više nasljedstva

U Javi, nema više nasljedstva, jer tada postoje određeni problemi. A klase ne može naslijediti od nekoliko klasa. Ali ne može implementirati više interfejsa.

Java interfejsa i apstraktne klase - pojmovi su slične, ali ne i identični. Sučelje može proglasiti kao javni, onda je na raspolaganju svima, ili možete izostaviti modifikator javnosti, onda je sučelje je dostupan samo u okviru svog paketa. Sažetak ključnu riječ nije potrebna, jer je sučelje i tako je apstraktno, ali možete odrediti.

Deklaraciju sučelje

Počinje sa glavom, i može prvo idite na ključnu javnosti, a zatim - riječ interfejsa. Zatim, tu može biti riječ proširuje i transfer interfejsa, od kojih je pripao. To nije dozvoljeno da se ponovi, i nemoguće je da se formira ciklički odnos nasljeđivanja odnosa. Onda dolazi tijelo sučelje, zatvorena u vitičaste zagrade. U telu elemenata sučelja izjavio: Field konstante i apstraktne metode. Sva polja su javni konačni statički - sve te modifikatora nisu potrebni. Sve metode smatraju se javna apstraktno - to modifikatori također može biti specificiran. Sada, dovoljno je rečeno o razlici između apstraktne klase iz Java sučelje.

  • javni interfejs AI proteže B, C, D {
  • // tijelo
  • }

Da proglasi klase sučelje nasljednika, potrebno je da koristite ključne riječi oruđa:

  • klase aKlasa implementira BI, CI, DI {}

To jest, ako nakon proglašenja klasa implementira navedeno ime sučelje, njegova oruđa klasi. Nasljednici ove klase dobija elemente, tako da su i prodati.

Varijable tipa sučelje 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 objekti su generirani po klasama, i oni su, sa svoje strane, proizlaze iz klase Object.

U ovom članku, razgovarali smo o nekim elementima Java modela objekta - apstraktne klase, apstraktne metode sučelje.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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