ComputersProgrammering

Elementen van Java-object model: een abstracte klasse, een interface

Het belangrijkste idee van de abstracte klasse is opgenomen in de volgende stellingen: soms vereist geen kooklessen, en in "natte" vorm. Dergelijke plano kan niet direct worden gebruikt (instantiëren).

Wat is een abstracte klasse in Java

Overweeg een ander voorbeeld. Er is een Java-abstracte klasse Calendar in java.util pakket. Het duurt niet een specifieke kalender, die wordt gebruikt, bijvoorbeeld in West- en Oost-Europa, China, Noord-Korea, Thailand voeren en ga zo maar door D. Maar het heeft veel nuttige functies, zoals het toevoegen van een paar dagen tot een bepaalde datum. Deze functies zijn vereist voor iedere kalender van de uitvoering. Het is onmogelijk om een kopie van de abstracte klasse te produceren.

Abstracte klassen, abstract Java methoden

Stel, u wilt meerdere grafische elementen, bijvoorbeeld geometrische vormen te ontwikkelen: .. Een cirkel, rechthoek, ster, enz. En er is een container die hen trekt. Elke component van het uiterlijk is anders, dus de geschikte methode (ook al verf genoemd) is anders uitgevoerd. Echter, elke component heeft veel overeenkomsten: .. Het cijfer moet in de doos worden opgenomen kan een kleur hebben zichtbare en onzichtbare, enz. Met andere woorden te zijn, moet je een ouder klasse te creëren voor al deze figuren, waarbij elke component van de algemene eigenschappen zullen erven. Maar hoe zit het met de methode paint? Immers, de ouder klasse is geen visuele representatie. Als u een methode paint verklaren in elke klasse onafhankelijk, is het noodzakelijk om te analyseren welke component wordt verwerkt, en voer vervolgens de cast. Daarom moet de methode abstract in de bovenliggende klasse worden verklaard: de methode zet de titel zonder een lichaam. Een lichaam van elke afgeleide klasse zal zijn te beschrijven. In Java, een abstracte klasse kan de abstracte methoden in te voeren.

Als een klas abstract methoden, de klas is abstract. Voordat het woord klasse zet de zoekwoord abstract, de titel van de methode - ook. Na de titel van een dergelijke werkwijze moet een puntkomma zetten. In Java, kan een abstracte klasse geen kopieën te produceren. Als we willen dat hun creatie te verbieden, zelfs als er geen abstracte methoden van de klasse, de klasse abstract worden verklaard. Maar als de klas minstens één abstracte methode, moet de klasse abstract zijn. Het is onmogelijk om de klas was en abstract is, en laatste, en ook de methode. De methode kan niet abstract, privé, statisch, inheemse zijn. Subklasse kon men niet-abstract verklaren en te concretiseren, moeten ze allemaal abstracte methoden van de moedermaatschappij te implementeren. De klasse zelf kan zijn abstracte methoden gebruiken.

bijvoorbeeld:

  • abstracte klasse AClass {
  • public void samenvatting methode (int a) ;
  • }
  • class BClass breidt AClass {
  • public void methode (int a) {
  • // lichaam
  • }

Toegestaan variabelen zoals abstracte klasse. Ze kunnen verwijzen naar een niet-abstract kind van die klasse of van nul.

Interfaces in Java - een alternatief voor meervoudige overerving

In Java, is er geen multiple inheritance, want dan zijn er bepaalde problemen. Een klasse kan niet erven van verschillende klassen. Maar hij kan meerdere interfaces implementeren.

Java-interfaces en abstracte klassen - de concepten zijn vergelijkbaar, maar niet identiek. De interface kan worden verklaard als publiek, dan is het beschikbaar voor iedereen, of u kunt de modifier openbare weg te laten, dan is de interface is alleen beschikbaar binnen de verpakking. Abstract zoekwoord is niet nodig, omdat de interface en dus is abstract, maar u kunt opgeven.

Een interface verklaring

Het begint met een header, en kunnen eerst naar het trefwoord publiek, dan - woord interface. Dan kan er een woord verlengt en overdracht interfaces, waaruit geërfd dit. Het is niet toegestaan te herhalen, en het is onmogelijk om een cyclische verhouding van de overervingsrelatie vormen. Dan komt de interface lichaam, omsloten door accolades. In het lichaam van de interface-elementen worden aangegeven: Gebied constanten en abstracte methoden. Alle velden zijn public final statisch - al deze modifiers zijn niet nodig. Alle methoden worden beschouwd als publiek abstract zijn - deze modifiers ook kan worden opgegeven. Nu, genoeg gezegd over het verschil tussen een abstracte klasse van de Java-interface.

  • publieksinterface AI uitstrekt B, C, D {
  • // lichaam
  • }

Om een klasse-interface erfgenaam verklaren, moet het trefwoord werktuigen te gebruiken:

  • class AClass implementeert BI, CI, DI {}

Dat wil zeggen, als na de les verklaring implementeert opgegeven interface naam, zijn klasse implementeert. Erfgenamen van deze klasse krijgt zijn elementen, zodat ze ook verkopen.

Variabelen een type interface is ook toegestaan. Ze kunnen verwijzen naar een type van de klasse die deze interface, of null implementeert. Dergelijke variabelen hebben alle elementen van de klasse Object, omdat de objecten worden gegenereerd door de klassen, en zij op hun beurt, zijn afgeleid van de klasse Object.

abstracte klassen, abstract methoden-interface - In dit artikel een aantal elementen van Java-object model bespraken we.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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