DatamaskinerProgrammering

Elementer av Java-objektmodell: en abstrakt klasse, et grensesnitt

Hovedideen av den abstrakte klassen finnes i følgende teser: noen ganger krever ingen matlagingskurs, og i "våt" form. Slike emner kan ikke direkte brukes (instansiere).

Hva er en abstrakt klasse i Java

Vurdere et annet eksempel. Det er en Java abstrakt klasse Kalender i java.util-pakken. Det betyr ikke gjennomføre en bestemt kalender, som brukes, for eksempel i Vest- og Øst-Europa, Kina, Nord-Korea, Thailand, etc. Men det har mange nyttige funksjoner, som for eksempel å legge noen dager til en bestemt dato: .. Disse funksjonene er nødvendig for noen kalender for gjennomføringen. Det er umulig å lage en kopi av den abstrakte klassen.

Abstrakte klasser, abstrakte Java metoder

Tenk deg at du ønsker å utvikle flere grafiske elementer, for eksempel geometriske figurer: .. En sirkel, rektangel, stjerne, etc. Og det er en beholder som trekker dem. Hver komponent av utseende er forskjellig, slik at passende metode (selv om det er kalt maling) er implementert på en annen måte. Imidlertid har hver komponent mange likheter: .. Figuren bør inkluderes i esken kan ha en farge til å være synlige og usynlige, etc. Med andre ord, må du opprette en forelder klasse for alle disse tallene, hvor hver komponent vil arve de generelle egenskapene. Men hva med maling metoden? Tross alt, er den overordnede klassen ingen visuell representasjon. Hvis man erklære en lakkmetoden i hver klasse uavhengig av hverandre, vil det være nødvendig å analysere det som komponent er behandlet, og deretter utføre den støpte. Derfor må metoden være erklært abstrakt i den overordnede klassen: den fremgangsmåte som er tittel uten et legeme. En kropp av hver avledet klasse vil beskrive sin egen. I Java, en abstrakt klasse kan gå inn i abstrakte metoder.

Dersom en klasse har abstrakte metoder, er klassen abstrakt. Før ordklasse sette søkeordet abstrakt, tittelen på metoden - også. Etter tittelen på en slik fremgangsmåte er nødvendig for å sette et semikolon. I Java, kan en abstrakt klasse ikke produsere kopier. Hvis vi ønsker å forby deres skapelse, selv om det ikke er abstrakte metoder for klassen, kan klassen bli erklært abstrakt. Men hvis klassen har minst en abstrakt metode, må klassen være abstrakt. Det er umulig å klassen var og abstrakt er, og endelig, og metoden også. Metoden kan ikke være abstrakt, privat, statisk, innfødt. Underklasse man kunne erklære ikke-abstrakt og instantiate, må de gjennomføre alle abstrakte metoder i morselskapet. Selve klassen kan bruke sine abstrakte metoder.

eksempel:

  • abstract class {AClass
  • offentlig abstract void-metoden (int a) ;
  • }
  • klasse BClass strekker AClass {
  • public void metode (int a) {
  • // kroppen
  • }

variabler tillatt som abstrakt klasse. De kan vise til en ikke-abstrakt barn som klasse eller være null.

Grensesnitt i Java - et alternativ til multippel arv

I Java, er det ingen multippel arv, fordi da er det visse problemer. En klasse kan ikke arve fra flere klasser. Men han kan implementere flere grensesnitt.

Java grensesnitt og abstrakte klasser - begrepene er like, men ikke identiske. Grensesnittet kan bli erklært som offentlig, så det er tilgjengelig for alle, eller du kan utelate modifier publikum, da grensesnittet er bare tilgjengelig i sin pakke. Sammendrag nøkkelord er ikke nødvendig, fordi grensesnittet og så er abstrakt, men du kan angi.

Et grensesnitt erklæring

Det starter med en header, og kan først gå til søkeord publikum, da - ordet grensesnitt. Da kan det være et ord forlenger og overføringsgrensesnitt, hvorfra arvet dette. Det er ikke tillatt å gjenta, og det er umulig å danne en syklisk forholdet mellom arv forholdet. Så kommer grensesnittet kroppen, vedlagt i klammeparentes. I kroppen av grensesnittet elementer er deklarert: Felt konstanter og abstrakte metoder. Alle feltene er offentlig endelige statisk - alle disse modifikatorer er ikke nødvendig. Alle metodene er ansett for å være offentlig abstrakt - disse modifiserende midler også kan angis. Nå, nok sies om forskjellen mellom en abstrakt klasse fra Java-grensesnittet.

  • felles grensesnitt AI forløper B, C, D {
  • // kroppen
  • }

Å erklære en klasse grensesnitt arving, må du bruke søkeordet redskaper:

  • klasse AClass implementerer BI, CI, DI {}

Det vil si, hvis etter klassen erklæringen implementerer angitte grensesnittet navn, sin klasse implementerer. Arvinger av denne klassen blir dens elementer, slik at de selger også det.

Variabler av et grensesnitt type er også tillatt. De kan vise til en type klassen som implementerer dette grensesnittet, eller null. Slike variabler har alle elementer av objektklasse, fordi gjenstandene blir generert av klassene, og at de, i sin tur, skriver seg fra den objektklassen.

I denne artikkelen, har vi diskutert noen elementer av Java-objektmodellen - abstrakte klasser, abstrakt metoder grensesnitt.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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