Kompjutera, Programimi
Elementet e modelit të objektit Java: një klasë abstrakte, një ndërfaqe
Ideja kryesore e klasës abstrakte përmbahet në tezat e mëposhtme: nganjëherë nuk kërkon klasa gatim, dhe në formë të "lagësht". workpiece e tillë nuk mund të përdoret direkt (shembull konkret).
Çfarë është një klasë abstrakte në Java
Konsideroni një shembull tjetër. Nuk është një Java klasë abstrakte Calendar në paketë Java.util. Ajo nuk ka zbatuar një kalendar të veçantë, e cila përdoret, për shembull, në Evropën Perëndimore dhe Lindore, Kina, Koreja e Veriut, Tajlandë, etj por ajo ka shumë karakteristika të dobishme, të tilla si duke shtuar disa ditë në një datë të caktuar: .. Këto funksione janë të nevojshme për çdo kalendari i zbatimit. Është e pamundur për të prodhuar një kopje të klasës abstrakte.
klasa abstrakte, metoda abstrakte Java
Supozoni se ju dëshironi të zhvillojnë elemente të shumta grafike, p.sh. forma gjeometrike: .. një rreth, drejtkëndësh, yll, etj dhe nuk është një enë që tërheq ata. Secili komponent i shfaqjes është i ndryshëm, kështu që metoda e përshtatshme (edhe nëse ajo është quajtur bojë) është zbatuar në mënyrë të ndryshme. Megjithatë, çdo komponent ka shumë ngjashmëri: .. Shifra duhet të përfshihen në kutinë mund të ketë një ngjyrë të jenë të dukshme dhe të padukshme, etj Me fjalë të tjera, ju duhet të krijoni një klasë prind për të gjitha këto shifra, ku çdo komponent do të trashëgojnë pronat e përgjithshme.
Nëse një klasë ka metoda abstrakte, klasa është abstrakte. Para klasës fjala vënë fjalen abstrakte, titullin e metodës - too. Pas titullit të një metode të tillë është e nevojshme për të vënë një pikëpresje. Në Java, një klasë abstrakte nuk mund të prodhojë kopje. Në qoftë se ne duam për të ndaluar krijimin e tyre, edhe në qoftë se nuk ka metoda abstrakte të klasës, klasa mund të shpallet abstrakte. Por në qoftë se klasa ka të paktën një metodë abstrakte, klasa duhet të jenë abstrakte. Është e pamundur për të klasës ishte dhe abstrakte është, dhe i fundit, dhe metoda shumë. Metoda nuk mund të jetë abstrakte, private, statike, amtare. Për subclass dikush mund të deklarojë jo-abstrakte dhe ilustroj me shembull konkret, ata duhet të zbatojë të gjitha metodat abstrakte e prindit. Vetë klasë mund të përdorin metodat e saj abstrakte.
shembull:
- klasë abstract AClass {
- Metoda pavlefshme abstract publik (int a) ;
- }
- klasë BClass shtrihet AClass {
- Metoda publik pavlefshme (int a) {
- // trupi
- }
Variablat e lejuara të tilla si klasë abstrakte. Ata mund t'i referohet një fëmijë jo-abstrakte të asaj klase apo të jetë null.
Interfaces në Java - një alternativë për trashëgiminë e shumëfishtë
Në Java, nuk ka trashëgimi të shumta, sepse atëherë ka probleme të caktuara. Një klasë nuk mund të trashëgojnë nga disa klasa. Por ai mund të zbatojë ndërfaqe të shumta.
Interfaces Java dhe klasa abstrakte - konceptet janë të ngjashme, por jo identike. The interface mund të shpallet si publike, atëherë ajo është në dispozicion për të gjithë, ose ju mund të heq publikun modifikues, atëherë interface është në dispozicion vetëm në kuadër të paketës së saj. Abstract fjalen nuk është e nevojshme, për shkak interface dhe kështu është abstrakte, por ju mund të specifikoni.
Një deklaratë ndërfaqe
Ajo fillon me një kokë, dhe për herë të parë mund të shkoni në fjalen publik, atëherë - ndërfaqe fjalë. Atëherë nuk mund të jetë një fjalë shtrihet dhe ndërfaqet transferimit, nga të cilat trashëguar këtë. Nuk lejohet për të përsëritur, dhe është e pamundur për të formuar një raport ciklik të marrëdhënieve trashëgimisë. Pastaj vjen trupi interface, mbyllur në formatimin e teksteve kaçurrel. Në trupin e elementeve ndërfaqes shpallen: konstante në terren dhe metodat abstrakte. Të gjitha fushat janë statike e fundit publike - të gjitha këto Ndryshuesit nuk janë të nevojshme. Të gjitha metodat janë konsideruar të jetë abstrakt publike - këto Ndryshuesit gjithashtu mund të specifikohen. Tani, mjaft është thënë në lidhje me dallimin në mes të një klasë abstrakte nga interface Java.
- Ndërfaqja publik AI shtrihet B, C, D {
- // trupi
- }
Për të deklaruar një ndërfaqe trashëgimtar të klasës, duhet të përdorni zbaton Keyword:
- klasë AClass realizon Bi, CI, di {}
Kjo është, në qoftë se deklarata klasës pas zbaton specifikuar emrin e ndërfaqes, zbaton e saj të klasës. Trashëgimtarët e kësaj klase merr elementet e saj, në mënyrë që ata të shesin atë.
Variablat e një lloj interface është e lejuar gjithashtu. Ata mund t'i referohet një lloj të klasës që zbaton këtë ndërfaqe, ose NULL. Variablat e tilla kanë të gjitha elementet e klasës Object, sepse objektet janë të krijuara nga klasa, dhe ata, nga ana tjetër, rrjedhin nga klasa e objektit.
Në këtë artikull, ne shikuar në disa elemente të modelit të objektit java - klasa abstrakte, metodat abstrakte ndërfaqe.
Similar articles
Trending Now