Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Abgeleitete Klassen | OOP-Grundlagen
C# Jenseits der Grundlagen

bookAbgeleitete Klassen

Wenn eine Klasse als abgeleitet von einer anderen Klasse bezeichnet wird, bedeutet dies, dass sie alle Felder und Methoden der Elternklasse besitzt. Zusätzlich kann die abgeleitete Klasse weitere eigene Felder und Methoden enthalten.

Note
Hinweis

Eine abgeleitete Klasse (auch Kindklasse genannt) ist eine Klasse, die die Eigenschaften einer anderen Klasse erbt. Im Gegensatz dazu ist eine Basisklasse (auch Elternklasse genannt) eine Klasse, von der geerbt wird.

Die Syntax zur Erstellung einer abgeleiteten Klasse ist wie folgt:

index.cs

index.cs

copy
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 ein Beispiel mit konkretem Code:

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
using 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 diesem Beispiel ist Dog die abgeleitete Klasse, die von der Basisklasse Animal erbt. Die Klasse Dog hat Zugriff auf die Eigenschaft Name und die Methode Eat aus der Klasse Animal. Zusätzlich führt sie eine neue Methode, Bark, ein, die spezifisch für die Klasse Dog ist.

Wie im Diagramm dargestellt, kann es Fälle geben, in denen eine Klasse von einer Klasse erbt, die selbst bereits von einer anderen Klasse abgeleitet ist:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using 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 einem solchen Fall wird die Klasse auf der obersten Ebene als Superklasse bezeichnet. In diesem Fall ist Animal die Superklasse. Ein solcher Fall, bei dem es mehrere Vererbungsebenen gibt, wird als Mehrstufige Vererbung bezeichnet.

Note
Hinweis

In einigen Programmiersprachen kann eine Klasse von mehreren Basisklassen erben, eine solche Vererbung wird als Mehrfachvererbung bezeichnet. In C# kann eine Klasse jedoch nur eine Elternklasse haben, daher ist Mehrfachvererbung in C# nicht möglich.

1. Welches Schlüsselwort oder Symbol wird in C# verwendet, um eine abgeleitete Klasse zu deklarieren?

2. Wie wird die Klasse an der Spitze bei Mehrfachvererbung genannt?

3. Ist Mehrfachvererbung in C# möglich?

question mark

Welches Schlüsselwort oder Symbol wird in C# verwendet, um eine abgeleitete Klasse zu deklarieren?

Select the correct answer

question mark

Wie wird die Klasse an der Spitze bei Mehrfachvererbung genannt?

Select the correct answer

question mark

Ist Mehrfachvererbung in C# möglich?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.04

bookAbgeleitete Klassen

Swipe um das Menü anzuzeigen

Wenn eine Klasse als abgeleitet von einer anderen Klasse bezeichnet wird, bedeutet dies, dass sie alle Felder und Methoden der Elternklasse besitzt. Zusätzlich kann die abgeleitete Klasse weitere eigene Felder und Methoden enthalten.

Note
Hinweis

Eine abgeleitete Klasse (auch Kindklasse genannt) ist eine Klasse, die die Eigenschaften einer anderen Klasse erbt. Im Gegensatz dazu ist eine Basisklasse (auch Elternklasse genannt) eine Klasse, von der geerbt wird.

Die Syntax zur Erstellung einer abgeleiteten Klasse ist wie folgt:

index.cs

index.cs

copy
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 ein Beispiel mit konkretem Code:

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
using 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 diesem Beispiel ist Dog die abgeleitete Klasse, die von der Basisklasse Animal erbt. Die Klasse Dog hat Zugriff auf die Eigenschaft Name und die Methode Eat aus der Klasse Animal. Zusätzlich führt sie eine neue Methode, Bark, ein, die spezifisch für die Klasse Dog ist.

Wie im Diagramm dargestellt, kann es Fälle geben, in denen eine Klasse von einer Klasse erbt, die selbst bereits von einer anderen Klasse abgeleitet ist:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using 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 einem solchen Fall wird die Klasse auf der obersten Ebene als Superklasse bezeichnet. In diesem Fall ist Animal die Superklasse. Ein solcher Fall, bei dem es mehrere Vererbungsebenen gibt, wird als Mehrstufige Vererbung bezeichnet.

Note
Hinweis

In einigen Programmiersprachen kann eine Klasse von mehreren Basisklassen erben, eine solche Vererbung wird als Mehrfachvererbung bezeichnet. In C# kann eine Klasse jedoch nur eine Elternklasse haben, daher ist Mehrfachvererbung in C# nicht möglich.

1. Welches Schlüsselwort oder Symbol wird in C# verwendet, um eine abgeleitete Klasse zu deklarieren?

2. Wie wird die Klasse an der Spitze bei Mehrfachvererbung genannt?

3. Ist Mehrfachvererbung in C# möglich?

question mark

Welches Schlüsselwort oder Symbol wird in C# verwendet, um eine abgeleitete Klasse zu deklarieren?

Select the correct answer

question mark

Wie wird die Klasse an der Spitze bei Mehrfachvererbung genannt?

Select the correct answer

question mark

Ist Mehrfachvererbung in C# möglich?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 1
some-alt