Wat is basisklasse?

Een basisklasse, ook wel een superklasse genoemd, is een computerobject dat fungeert als basis voor een of meer afgeleide klassen. Elke computertaal die kan worden overgenomen, kan een basisklasse maken. Afhankelijk van hun precieze type, kunnen basisklassen al dan niet in staat zijn om zelf een initiële waarde aan een object toe te kennen, maar ze bieden altijd een soort gemeenschappelijke functionaliteit aan elke klasse die van hen ervaart. Er is nooit een limiet voor het aantal afgeleide klassen of subklassen dat basisklassen kunnen hebben, maar er kan een limiet zijn, afhankelijk van de computertaal, voor het aantal basisklassen dat een afgeleide klasse kan hebben. Er wordt gezegd dat talen die toestaan ​​dat een afgeleide klasse slechts één basis heeft, een enkele overerving afdwingen, terwijl talen die toestaan ​​dat een afgeleide klasse meerdere basisklassen heeft, meerdere overerving gebruiken.

Concrete basisklassen kunnen zelf worden geïnitialiseerd; dat wil zeggen dat een object van het basistype kan worden gemaakt. Als een klasse Voorbeeld een basis is voor een afgeleide klasse Voorbeeld2, kunnen zowel een object van het type Voorbeeld2 als een object van het type Voorbeeld worden gemaakt. Een object van het type Voorbeeld kan alleen worden gemaakt door expliciet dat objecttype aan te roepen; het maken van een object van het type Voorbeeld2 maakt geen secundair object van het type Voorbeeld. In elk geval bouwt het objecttype dat wordt gemaakt alleen een instantie van zichzelf op.

Abstracte basisklassen kunnen daarentegen niet op zichzelf worden geïnitialiseerd, wat betekent dat een object van de basisklasse niet zelf kan worden gemaakt. Als een klasse Voorbeeld3 een abstracte basis is voor een afgeleide klasse Voorbeeld4, kan alleen een object van het type Voorbeeld4 worden gemaakt. Hoewel het type Voorbeeld4 gegevens van het type Voorbeeld3 bevat, zal een poging om alleen een object van het type Voorbeeld3 te maken een fout veroorzaken. Deze functionaliteit kan soms handig zijn, vooral als klasse Voorbeeld 3 privégegevens bevat die strikt moeten worden gereguleerd.

Afhankelijk van de taal waarin deze wordt weergegeven, kan een basisklasse iets anders gedrag vertonen en aanzienlijk verschillende namen hebben. In Java® worden basisklassen altijd met die naam genoemd, terwijl in C ++, afhankelijk van hun structuur, virtuele klassen kunnen worden genoemd. De verschillen in naam en functionaliteit, hoewel aanzienlijk in termen van de gebruikte computertalen, impliceren geen grote verschillen in het principe achter de klassen. Een basisklasse wordt altijd gebruikt om algemene functionaliteit en gegevens voor de afgeleide klassen in te kapselen, ongeacht de taal.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?