Junior — Middle
Erklären Sie den Mechanismus und die Merkmale der Vererbung in der objektorientierten Programmierung.
sobes.tech KI
Antwort von AI
In der objektorientierten Programmierung (OOP) ermöglicht Vererbung die Erstellung einer neuen Klasse auf Basis einer bestehenden, wobei deren Eigenschaften und Methoden übernommen werden. Dies fördert die Wiederverwendung von Code und die hierarchische Organisation von Objekten.
Merkmale der Vererbung:
- Klassenhierarchie: Unterklasse (Erbin) erweitert oder überschreibt das Verhalten der Oberklasse (Elternteil).
- Polymorphismus: Objekte der Unterklasse können dort verwendet werden, wo ein Objekt der Oberklasse erwartet wird.
- Kapselung: Vererbung verletzt nicht das Prinzip der Datenverbergung, aber die Unterklasse hat Zugriff auf geschützte und öffentliche Mitglieder der Oberklasse.
In Go gibt es keine direkte Klassenvererbung, aber es gibt Komposition und Schnittstellen, die ähnliche Muster ermöglichen.
Beispiel in Go mit Komposition:
type Animal struct {
Name string
}
func (a Animal) Speak() string {
return "..."
}
// Dog "erbt" von Animal durch Einbettung
// und kann die Methode Speak überschreiben
type Dog struct {
Animal
}
func (d Dog) Speak() string {
return "Woof!"
}
func main() {
dog := Dog{Animal{Name: "Buddy"}}
fmt.Println(dog.Name) // Buddy
fmt.Println(dog.Speak()) // Woof!
}