Wat is Inheritance in Java?

10/15/2016 by admin

Erfenis verwijst naar een kenmerk van de Java-programmeertaal waarmee u klassen die zijn afgeleid van andere klassen te creëren. Een klasse die is gebaseerd op een andere klasse erft de andere klasse. De klasse die wordt overgeërfd is de bovenliggende klasse, de basisklasse, of de superklasse. De klasse die de erven doet is het kind klasse, de afgeleide klasse, of de subklasse.

Een subklasse neemt automatisch op al het gedrag en de attributen van de basisklasse. Dus, als je nodig hebt om een ​​aantal lessen te creëren om soorten die niet identiek, maar hebben veel kenmerken gemeen te beschrijven, kunt u een basisklasse dat alle gemeenschappelijke kenmerken definieert creëren. Dan kunt u subklassen dat de gemeenschappelijke kenmerken erven creëren.

Een subklasse kan functies toevoegen aan de basisklasse erft door het definiëren van haar eigen methoden en velden. Dit is een van de manieren waarop een afgeleide klasse onderscheidt zich van de basisklasse.

Een subklasse kan ook het gedrag door de basisklasse veranderen. Een basisklasse kan worden bepaald dat alle klassen afgeleid van het hebben van een methode genaamd spelen, bijvoorbeeld, maar elke klasse is vrij om zijn eigen implementatie van de play methode. In dit geval, alle klassen die de basisklasse verlengen leveren hun eigen implementatie van de methode play.

Om een ​​subklasse maken, je gebruikt het woord extends op de verklaring klasse aan de naam van de basisklasse te geven. De basis indeling van een subklasse verklaring is deze:

public class ClassName breidt BaseClass
{
// Klasse lichaam gaat hier
}

De subklasse automatisch neemt de klassenlichamentheorie van de basisklasse, zodat alle werkwijzen of velden die worden gedefinieerd door de basisklasse automatisch in de subklasse. Aldus het niveau die een subklasse omvat alleen de methoden of velden die de subklasse van de basisklasse differentiëren.

Bijvoorbeeld, stel je hebt een klasse met de naam Ball die definieert een eenvoudige bal, en je wilt een subklasse genoemd BouncingBall dat het vermogen om te stuiteren voegt creëren. Je zou dat doen als dit:

public class BouncingBall breidt Ball
{
public void bounce ()
{
// De bounce-methode
}
}

Hier zijn enkele andere belangrijke details over het maken van subklassen:

  • Een subklasse erft alle leden van de basisklasse. Constructors worden niet beschouwd als leden, echter. Hierdoor hoeft een subklasse niet constructors van de basis klasse erven.
  • De zichtbaarheid (openbaar of particulier) welke leden overgeërfd van de basisklasse is hetzelfde in de subklasse. Dat betekent dat u niet kunt openen vanuit de subklasse methoden of velden die worden gedeclareerd in de basisklasse als privé.
  • U kunt een methode overschrijven door te verklaren dat een nieuw lid met dezelfde signatuur in de subklasse.
  • Een speciaal type zichtbaarheid genaamd beschermd verbergt velden en methoden uit andere klassen, maar maakt ze beschikbaar voor subklassen.
  • Private, publieke of beschermd - - tot een subklasse U kunt meer methoden of velden toe te voegen.

Related Posts