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.

  • 📜 Määratlus: Liides määrab käitumise abs-i abiltracmeetodid ja konstandid, mida klasside rakendamine peab pakkuma.
  • 🔑 võtmesõna: Liidesed deklareeritakse märksõnaga „interface” ja klassid kasutavad nende omaksvõtmiseks tööriistu (implements).
  • 🧩 Mitmekordne pärimine: Klass saab implementeerida palju liideseid, lahendades Javamitme klassi pärimise puudumine.
  • 🇧🇷 Klass vs liides: Erinevalt klassidest ei saa liideseid eksemplarideks luua ja traditsiooniliselt sisaldavad need ainult avalikke objekte (public abs).tract-meetodid.
  • 🎯 Millal kasutada: Kasutage liidest rolli määratlemiseks omavahel mitteseotud klasside jaoks ja abs-itract-klass jagatud malli jaoks.

Liides sisse Java

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.

Miks on liidest vaja

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.

Miks on liidest vaja

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.

Miks on liidest vaja

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“.

Miks on liidest vaja

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.

KKK

Jah. Tehisintellekti assistendid saavad luua liideseid ja implementeerida klasse lihtsas keeles kirjelduse, sh meetodi tüvede põhjal. Arendajad peaksid enne koodi kasutamist siiski kontrollima meetodi signatuure, tagastustüüpe ja käitumist.

Tehisintellekti tööriistad analüüsivad liideseid, et soovitada rakendusi, tuvastada puuduvaid meetodeid ja soovitada puhtamaid kõhulihaseidtracrefaktoriseerimise ajal. See kiirendab arendust, säilitades samal ajalping koodibaas on lõdvalt seotud ja seda on lihtsam hooldada.

Jah. Alates Java 8, liidesed võivad lisaks abs-ile sisaldada ka vaikimisi ja staatilisi meetodeid, millel on implementatsioonid.tract-meetodid. See võimaldab liidestel areneda ilma olemasolevaid rakendusklasse lõhkumata.

Markeriliides ei sisalda meetodeid. See edastab metaandmeid JVM-ile või kompilaatorile, et nad käsitleksid implementeerivaid klasse eraldi. Näideteks on standardis Serializable ja Cloneable. Java raamatukogu.

Võta see postitus kokku järgmiselt: