KompiuteriaiProgramavimas

Elementai Java objektinio modelio: abstrakti klasė, sąsaja

Pagrindinė idėja abstrakčios klasės yra pateiktas šių darbų: kartais nereikalauja virimo klases, ir "šlapio" forma. Tokie ruošiniai negali būti tiesiogiai naudojamas (instancija).

Kas yra abstrakti klasė Java

Apsvarstyti kitą pavyzdį. Yra Java abstrakti klasė Kalendorius per java.util paketą. Tai nėra įgyvendinti konkretų kalendorių, kuris naudojamas, pavyzdžiui, Vakarų ir Rytų Europoje, Kinijoje, Šiaurės Korėjoje, Tailande, ir tt Bet ji turi daug naudingų funkcijų, pavyzdžiui, pridedant keletą dienų iki tam tikros datos: .. Šios funkcijos yra reikalingos bet kalendorius įgyvendinimą. Neįmanoma pagaminti iš abstrakčios klasės kopijas.

Abstrakčios klasės, abstraktūs Java metodai

Tarkime, jūs norite sukurti kelis grafinius elementus, pavyzdžiui, geometrinių formų: .. ratu, stačiakampis, žvaigždė, ir tt Ir yra konteineris, kuris juos daro. Kiekvienas išvaizdos komponentas yra skirtingos, todėl tinkamas metodas (net jei jis yra vadinamas dažų) yra įgyvendinamas skirtingai. Tačiau kiekvienas komponentas turi daug panašumų: .. Paveiksle turi būti įtrauktos į laukelį gali turėti spalvą būtų matoma ir nematoma, ir tt Kitaip tariant, jums reikia sukurti tėvų klasės visų šių veikėjų, kur kiekvienas komponentas paveldės bendrąsias savybes. Bet kas apie dažų metodu? Galų gale, patronuojanti klasė yra ne vaizdinis. Jei paskelbti dažų metodą kiekvienoje klasėje savarankiškai, būtina išanalizuoti, kas komponentas yra tvarkomi, ir tada atlikti dauguma. Todėl šis metodas turi būti paskelbtas abstraktaus patronuojančios klasės: metodas nustatyta titulą be kūno. Kiekvieno gauto klasė Kėbulo aprašyti savo. Java, abstrakti klasė , gali įvesti abstrakčius metodus.

Jeigu klasė turi abstrakčius metodus, klasės yra abstrakti. Prieš žodis klasė įdėti raktažodžių abstrakti, metodo pavadinimas - taip pat. Po tokio metodo pavadinimas yra būtina įdėti kabliataškį. Java, abstrakčios klasės, negali gaminti kopijas. Jei norime uždrausti jų kūrimą, net jei nėra abstraktūs metodai klasėje, klasės gali būti paskelbta abstrakti. Bet jei klasėje yra bent vienas abstraktų metodą, klasės turi būti abstraktus. Neįmanoma klasė buvo ir abstraktus yra ir galutinis, ir šis metodas taip pat. Šis metodas gali būti ne abstrakti, privatus, statinis, gimtoji. Norėdami poklasio galima deklaruoti ne abstrakti ir egzempliorių, jie turi įgyvendinti visas abstrakčias metodus tėvų. Pati klasė gali naudoti savo abstrakčius metodus.

pavyzdys:

  • A klasė abstrakčios klasės {
  • viešojo abstraktus negaliojančiu metodas (int) ;
  • }
  • klasės BClass tęsiasi A klasė {
  • public void metodas (int) {
  • // kūnas
  • }

Leidžiami kintamieji, pavyzdžiui, abstrakčios klasės. Jie gali kreiptis į ne abstrakčios vaikui tos klasės ar yra niekinis.

Sąsajos Java - alternatyva kelių paveldėjimo

Java, nėra daug paveldėjimas, nes ten yra tam tikros problemos. Klasė negali paveldėti iš kelių klasių. Bet jis gali įgyvendinti daug sąsajų.

Java sąsajos ir abstrakčios klasės - sąvokos yra panašios, bet ne identiškos. Sąsaja gali būti deklaruojamas kaip visuomenės, tai yra prieinami visiems, arba galite praleisti modifikatorius visuomenę, tada sąsaja yra prieinama tik jos pakuotės. Santrauka raktažodis nereikia, nes sąsaja ir taip yra abstrakti, tačiau jūs galite nurodyti.

Sąsaja deklaracija

Jis prasideda su galva, o pirmiausia gali eiti į raktažodžių visuomenei, vėliau - žodį sąsaja. Tada gali būti žodis tęsiasi ir perdavimo sąsajos, iš kurios paveldėjau. Jis negali pakartoti, ir neįmanoma suformuoti cikliškas santykis paveldėjimo santykius. Tada ateina sąsaja kūnas, uždengtas garbanotas petnešos. Be sąsajos elementų kūno pareiškė: Lauko konstantas ir abstraktus metodus. Visi laukai yra viešojo galutinė statinio - visi šie modifikatorius nėra būtina. Visi metodai yra laikomi viešojo abstraktus - šie modifikatoriai taip pat gali būti nurodyta. Dabar pakankamai kalbama apie skirtumą tarp abstraktaus klasę Java sąsaja.

  • visuomenės sąsaja GR tęsiasi B, C, D {
  • // kūnas
  • }

Norėdami paskelbti klasės sąsajos įpėdinis, reikia naudoti raktažodžių padargai:

  • klasė A klasė įgyvendina BI, PI, di {}

Tai yra, jei po klasę įgyvendina skirta konkrečiam sąsajos pavadinimą, savo klasės įgyvendina. Paveldėtojai šios klasės gauna savo elementus, todėl jie taip pat jį parduoti.

Kintamieji, kurių sąsajos tipą taip pat leidžiama. Jie gali kreiptis į klasę įgyvendinančio šią sąsają arba nulis, tipo. Tokie kintamieji turi visas objekto klasės elementus, nes daiktai yra generuojami pagal klases, ir jie, savo ruožtu, kyla iš objekto klasėje.

Šiame straipsnyje aptarėme keletą Java objektinio modelio elementus - abstrakčių klasių, abstrakčių sąsaja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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