Afgeleide Klassen
Wanneer een klasse afgeleid is van een andere klasse, betekent dit dat het alle velden en methoden van de bovenliggende klasse bevat en daarnaast kan de afgeleide klasse extra velden en methoden bevatten.

Een afgeleide klasse (ook wel een subklasse genoemd) is een klasse die de eigenschappen van een andere klasse erft, terwijl een basisklasse (ook wel een superklasse genoemd) een klasse is waarvan geërfd wordt.
De syntaxis voor het maken van een overgeërfde klasse is als volgt:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Hier volgt een voorbeeld met concrete code:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
In dit voorbeeld is Dog
de afgeleide klasse, die erft van de basisklasse Animal
. De klasse Dog
heeft toegang tot de eigenschap Name
en de methode Eat
van de klasse Animal
. Daarnaast introduceert het een nieuwe methode, Bark
, die specifiek is voor de klasse Dog
.
Zoals geïllustreerd in het diagram, kunnen er gevallen zijn waarin een klasse erft van een klasse die zelf al van een andere klasse erft:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
In een dergelijk geval wordt de klasse op het hoogste niveau de Superklasse genoemd. In dit geval is Animal
de superklasse. Een situatie waarin er meerdere niveaus van overerving zijn, wordt Multi-Level Inheritance genoemd.
In sommige talen is het mogelijk dat een klasse van meerdere basisklassen erft; een dergelijke overerving wordt Multiple Inheritance genoemd. In C# kan een klasse slechts één bovenliggende klasse hebben, dus Multiple Inheritance is niet mogelijk in C#.
1. Welke keyword of symbool wordt in C# gebruikt om een afgeleide klasse te declareren?
2. Bij meerlagige overerving, hoe wordt de klasse aan de top genoemd?
3. Is meerlagige overerving mogelijk in C#?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.04
Afgeleide Klassen
Veeg om het menu te tonen
Wanneer een klasse afgeleid is van een andere klasse, betekent dit dat het alle velden en methoden van de bovenliggende klasse bevat en daarnaast kan de afgeleide klasse extra velden en methoden bevatten.

Een afgeleide klasse (ook wel een subklasse genoemd) is een klasse die de eigenschappen van een andere klasse erft, terwijl een basisklasse (ook wel een superklasse genoemd) een klasse is waarvan geërfd wordt.
De syntaxis voor het maken van een overgeërfde klasse is als volgt:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Hier volgt een voorbeeld met concrete code:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
In dit voorbeeld is Dog
de afgeleide klasse, die erft van de basisklasse Animal
. De klasse Dog
heeft toegang tot de eigenschap Name
en de methode Eat
van de klasse Animal
. Daarnaast introduceert het een nieuwe methode, Bark
, die specifiek is voor de klasse Dog
.
Zoals geïllustreerd in het diagram, kunnen er gevallen zijn waarin een klasse erft van een klasse die zelf al van een andere klasse erft:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
In een dergelijk geval wordt de klasse op het hoogste niveau de Superklasse genoemd. In dit geval is Animal
de superklasse. Een situatie waarin er meerdere niveaus van overerving zijn, wordt Multi-Level Inheritance genoemd.
In sommige talen is het mogelijk dat een klasse van meerdere basisklassen erft; een dergelijke overerving wordt Multiple Inheritance genoemd. In C# kan een klasse slechts één bovenliggende klasse hebben, dus Multiple Inheritance is niet mogelijk in C#.
1. Welke keyword of symbool wordt in C# gebruikt om een afgeleide klasse te declareren?
2. Bij meerlagige overerving, hoe wordt de klasse aan de top genoemd?
3. Is meerlagige overerving mogelijk in C#?
Bedankt voor je feedback!