Skip to main content

Wat is basisklasse?

Een basisklasse, ook wel een superclass genoemd, is een computerobject dat fungeert als een basis voor een of meer afgeleide klassen.Elke computertaal die in staat is om een erfenis te maken, kan een basisklasse creëren.Afhankelijk van hun precieze type kunnen basisklassen al dan niet initialisatie mdash zijn;Een beginwaarde toewijzen aan een object mdash;op zichzelf, maar ze geven altijd een soort gemeenschappelijke functionaliteit aan elke klasse die ervan erft.Er is nooit een limiet aan het aantal afgeleide klassen of subklassen, die basisklassen kunnen hebben, maar er kan een limiet zijn, afhankelijk van de computertaal, tot het aantal basisklassen dat een afgeleide klasse kan hebben.Van talen waarmee een afgeleide klasse slechts één basis kan hebben, wordt gezegd dat ze enkele overerving afdwingen, terwijl die met een afgeleide klasse meerdere basisklassen meerdere overerving gebruiken.

Concrete basisklassen kunnen op zichzelf worden geïnitialiseerd;Dat wil zeggen, een object van het type basisklasse kan worden gemaakt.Als een klasse -voorbeeld een basis is voor een afgeleide klasse -voorbeeld2, kan een object van type voorbeeld2 en een object van type voorbeeld beide worden gemaakt.Een object van het type voorbeeld kan alleen worden gemaakt door dat objecttype expliciet aan te roepen;Het maken van een object van type voorbeeld2 maakt geen secundair object van type voorbeeld.In elk geval bouwt het geproduceerde objecttype alleen een exemplaar van zichzelf.

abstracte basisklassen kunnen daarentegen niet alleen worden geïnitialiseerd, wat betekent dat een object van de basisklasse niet op zichzelf kan worden gemaakt.Als een klasse -voorbeeld3 een abstracte basis is voor een afgeleide klasse -voorbeeld4, kan alleen een object van type voorbeeld4 worden gemaakt.Hoewel type voorbeeld4 gegevens uit het type voorbeeld3 bevat, zal het proberen om een object uitsluitend van het type voorbeeld3 te maken, een fout.Deze functionaliteit kan soms nuttig zijn, vooral als klasse -voorbeeld3 privégegevens bevat die strak moeten worden gereguleerd. Afhankelijk van de taal waarin het verschijnt, kan een basisklasse iets ander gedrag hebben en duidelijk verschillende namen.In Java , worden basisklassen altijd verwezen met die naam, terwijl in C ++, afhankelijk van hun structuur, ze virtuele klassen kunnen worden genoemd.De verschillen in naam en functionaliteit, hoewel significant in termen van de gebruikte computertalen, impliceren geen grote verschillen in het principe achter de klassen.Een basisklasse wordt altijd gebruikt om gemeenschappelijke functionaliteit en gegevens voor de afgeleide klassen in te kapselen, ongeacht de taal.