ComputereProgrammering

Elementer af Java-objekt model: en abstrakt klasse, en grænseflade

Hovedidéen i den abstrakte klasse er indeholdt i de følgende teser: nogle gange kræver ingen madlavning klasser, og i "våd" form. Sådanne emner kan ikke anvendes direkte (instantiere).

Hvad er en abstrakt klasse i Java

Betragt et andet eksempel. Der er en Java abstrakt klasse Kalender i java.util pakke. Det betyder ikke gennemføre en specifik kalender, som bruges for eksempel i Vest- og Østeuropa, Kina, Nordkorea, Thailand og så videre D. Men det har mange nyttige funktioner, såsom at tilføje et par dage til en bestemt dato:. Disse funktioner er nødvendige for enhver tidsplan for gennemførelsen. Det er umuligt at producere en kopi af den abstrakte klasse.

Abstrakte klasser, abstrakte Java metoder

Antag, at du ønsker at udvikle flere grafiske elementer, for eksempel geometriske former: .. En cirkel, rektangel, stjerne etc. Og der er en beholder, der trækker dem. Hver komponent af udseendet er anderledes, så den relevante metode (selv om det kaldes maling) er implementeret forskelligt. Men hver komponent har mange ligheder: .. Figuren skal inkluderes i kassen kan have en farve for at være synlig og usynlig, etc. Med andre ord, skal du oprette en forælder klasse for alle disse tal, hvor hver komponent vil arve de generelle egenskaber. Men hvad med malingen metode? Efter alt, den forælder klassen er ingen visuel repræsentation. Hvis du erklærer en maling metode i hver klasse uafhængigt, vil det være nødvendigt at analysere, hvad komponent er behandlet, og derefter udføre de medvirkende. Derfor skal metoden erklæres abstrakt i moderselskabet klassen: metoden titlen uden et legeme. Et organ af hver afledt klasse vil beskrive sin egen. I Java, en abstrakt klasse kan indtaste de abstrakte metoder.

Hvis en klasse har abstrakte metoder, klassen er abstrakt. Før ordet klassen sætte søgeordet abstrakt, titlen på den metode - også. Efter titlen på en sådan metode er nødvendig for at sætte et semikolon. I Java kan en abstrakt klasse ikke producere kopier. Hvis vi ønsker at forbyde deres oprettelse, selv om der er ingen abstrakte metoder til klassen, kan klassen erklæres abstrakt. Men hvis klassen har mindst én abstrakt metode, skal klassen være abstrakt. Det er umuligt at klassen var og abstrakt er, og endelig, og metoden også. Metoden kan ikke være abstrakt, privat, statisk, indfødte. At underklasse man kunne erklære ikke-abstrakt og instantiere, skal de gennemføre alle abstrakte metoder for moderselskabet. Klassen selv kan bruge sine abstrakte metoder.

eksempel:

  • abstrakt klasse AClass {
  • offentlig abstract void metode (int a) ;
  • }
  • klasse BClass udvider AClass {
  • public void metode (int a) {
  • // krop
  • }

Tilladt variabler som abstrakte klasse. De kan henvise til en ikke-abstrakt barn af denne klasse eller være nul.

Interfaces i Java - et alternativ til multipel nedarvning

I Java er der ingen multipel nedarvning, fordi så er der visse problemer. En klasse kan ikke arve fra flere klasser. Men han kan implementere flere interfaces.

Java-grænseflader og abstrakte klasser - begreberne er ens, men ikke identiske. Interfacet kan erklæres som offentlig, så den er tilgængelig for alle, eller du kan udelade modifier offentlighed, da grænsefladen er kun tilgængelig inden for sin pakke. Abstrakt søgeord er ikke påkrævet, fordi grænsefladen og så er abstrakt, men du kan angive.

Et interface erklæring

Det starter med en overskrift, og kan først gå til søgeordet offentlighed, så - word-interface. Så kan der være et ord udvider og overføre grænseflader, hvorfra arvede dette. Det er ikke tilladt at gentage, og det er umuligt at danne en cyklisk forhold af arven forhold. Så kommer grænsefladen krop, omgivet af krøllede parenteser. I kroppen af grænsefladeelementerne erklæres: Field konstanter og abstrakte metoder. Alle felter er offentligt endelige statiske - alle disse midler er ikke nødvendig. Alle de metoder anses for at være offentlig abstrakt - disse modifikatorer også kan angives. Nu nok siges om forskellen mellem en abstrakt klasse fra Java-grænsefladen.

  • public interface AI strækker B, C, D {
  • // krop
  • }

At erklære en klasse-interface arving, nødt til at bruge søgeordet redskaber:

  • klasse AClass implementerer BI, CI, DI {}

Det vil sige, hvis der efter klassen erklæringen implementerer angivne grænseflade navn, dets klasse implementerer. Arvinger af denne klasse får dens elementer, så de også sælger det.

Variable af en grænseflade type er også tilladt. De kan henvise til en type af klasse, der implementerer dette interface, eller null. Sådanne variable har alle elementerne i Object klassen, fordi genstandene genereres af klasser, og de til gengæld, stammer fra Object klassen.

I denne artikel, vi diskuterede nogle elementer af Java-objekt model - abstrakte klasser, abstrakte metoder grænseflade.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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