Liides sisse Java koos Näitega
⚡ Nutikas kokkuvõte
Liides sisse Java on kõhulihasedtract-tüüp, mis määrab käitumise, mida klass peab rakendama, sisaldades konstante ja abstract-meetodid. See ressurss selgitab, mis on liides, miks seda vaja on, kuidas seda deklareerida ja rakendada ning kuidas liidesed erinevad klassidest ja abs-idest.tract-klassid.
Milles on liides Java?
An Liides sisse Java Programmeerimiskeelt defineeritakse kui abstract-tüüp, mida kasutatakse klassi käitumise määramiseks. A Java liides sisaldab staatilisi konstante ja abstract-meetodid. Klass saab implementeerida mitu liidest. Java, liidesed deklareeritakse märksõna „interface” abil. Kõik liidese meetodid on kaudselt avalikud ja „abs”tract.
Liidese deklareerimise süntaks
Liidese kasutamiseks oma klassis lisage klassi nime järele märksõna „implements”, millele järgneb liidese nimi.
interface { // methods }
Rakendusliidese näide
Nüüd saagem aru liidestest Java näitega:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Click siin kui videole ligipääs pole võimalik.
Click siin kui video pole juurdepääsetav
Miks on liidest vaja?
Liidese kasutamise mõistmiseks Java parem, vaatame ühte Java Liidese näide. Klassil „Meediamängija” on kaks alamklassi: CD-mängija ja DVD-mängija. Mõlemal on oma unikaalne liidese implementatsioonimeetod muusika esitamiseks.
Teine klass, „Combo drive”, pärib nii CD kui ka DVD (vt allolevat pilti). Millise esitusmeetodi peaks see pärima? See võib põhjustada tõsiseid disainiprobleeme ja seega ka Java ei luba mitut pärimine.
Võtame nüüd veel ühe näite, koera.
Oletame, et teil on nõue, kus klass „koer“ pärib klassid „loom“ ja „Lemmikloom“ (vt allolevat pilti). Kuid te ei saa kahte klassi laiendada JavaMida te siis teeksite? Lahendus on liides.
Liidese reeglistik ütleb:
- A Java liides on 100% abstract-klass ja sellel on ainult abstract-meetodid.
- Klass saab implementeerida suvalise arvu liideseid.
Klass Dog saab laiendada klassi „Loom“ ja implementeerida liidese „Lemmikloom“.
Java Liidese näide
Saame aru allolevast liideseprogrammist Java:
Step 1) Kopeerige järgmine kood redaktorisse.
interface Pet { public void test(); } class Dog implements Pet { public void test() { System.out.println("Interface Method Implemented"); } public static void main(String args[]) { Pet p = new Dog(); p.test(); } }
Step 2) Salvesta, kompileeri ja käivita kood. Jälgi liidese väljundit. Java programm.
Erinevus klassi ja liidese vahel
| klass | Interface |
|---|---|
| Klassis saate luua muutujate eksemplare ja objekti. | Liideses ei saa muutujaid luua ega objekti luua. |
| Klass võib sisaldada konkreetseid (koos rakendusega) meetodeid. | Liides ei saa sisaldada konkreetseid (koos rakendusega) meetodeid. |
| Klassidega kasutatavad juurdepääsuspetsifikatsioonid on privaatne, kaitstud ja avalik. | Liideses kasutatakse ainult ühte spetsifikatsiooni – avalik. |
Millal kasutada liidest ja kõhulihaseidtract-klass?
- Kasuta kõhulihaseidtract-klass, kui malli on vaja defineerida alamklasside rühmale.
- Kasutage liidest, kui roll on vaja defineerida teistele klassidele, olenemata nende klasside pärimispuust.
Peab teadma fakte liidese kohta
- A Java klass saab rakendada mitut Java liidesed. Klass peab rakendama kõiki liidestes deklareeritud meetodeid.
- Tund peaks tühistama kõik kõhulihasedtracliideses deklareeritud t-meetodid.
- Liides võimaldab saata objektile sõnumi, olenemata sellest, millisesse klassi see kuulub.
- Klass peab pakkuma liideses deklareeritud meetodite funktsionaalsust.
- Kõik liidese meetodid on kaudselt avalikud ja absoluutsed.tract.
- Liidest ei saa luua.
- Liidese viide saab viidata seda rakendavate klasside objektidele.
- Liides saab laieneda ühest või mitmest liidesest. Klass saab laiendada ainult ühte klassi, kuid implementeerida suvalist arvu liideseid.
- Liides ei saa teist liidest implementeerida. Vajadusel peab see teist liidest laiendama.
- Liidest, mis deklareeritakse teise liidese sees, nimetatakse pesastatud liideseks.
- Deklareerimise ajal tuleb liidese muutuja initsialiseerida. Vastasel juhul annab kompilaator vea.
- Klass ei saa implementeerida kahte liidest Java millel on sama nimega, aga erineva tagastustüübiga meetodid.





