Product Design, Manufacturing & Innovation Resources
Heim » Vererbung (OOP-Programmierung)

Vererbung (OOP-Programmierung)

1967
  • Kristen Nygaard
  • Ole-Johan Dahl
Programmierer, der in einem modernen Büro die Vererbung in der objektorientierten Programmierung kodiert.

(Abbildung dient nur zur Veranschaulichung)

Vererbung ist ein Mechanismus in OOP Eine neue Klasse (Unterklasse oder abgeleitete Klasse) basiert auf einer bestehenden Klasse (Oberklasse oder Basisklasse) und erbt deren Attribute und Methoden. Dies fördert die Wiederverwendbarkeit von Code und etabliert eine natürliche Hierarchie zwischen Klassen. Die Unterklasse kann das geerbte Verhalten erweitern oder überschreiben, wodurch spezifischere Implementierungen bei gleichzeitiger Beibehaltung einer gemeinsamen Schnittstelle möglich sind.

Vererbung ermöglicht eine „ist-ein“-Beziehung zwischen Klassen. Beispielsweise ist ein „Hund“ eine Unterklasse von „Tier“. In diesem Fall wäre „Tier“ die Oberklasse mit allgemeinen Attributen und Methoden wie „Alter“ und „fressen()“. Die Klasse „Hund“ wäre die Unterklasse, die diese Eigenschaften erbt und eigene spezifische Eigenschaften wie „Rasse“ und „bellen()“ hinzufügt. Dies vermeidet Code-Duplizierung, da die gemeinsame Logik nur einmal in der Oberklasse definiert und von allen Unterklassen wiederverwendet wird. Änderungen an der Oberklasse werden automatisch an alle Unterklassen weitergegeben, was die Wartung vereinfacht.

Es gibt verschiedene Arten der Vererbung, darunter einfache Vererbung (eine Klasse erbt nur von einer Oberklasse), Mehrfachvererbung (eine Klasse erbt von mehreren Oberklassen) und mehrstufige Vererbung (eine Klasse erbt von einer anderen Klasse, die selbst eine Unterklasse ist). Vererbung ist zwar leistungsstark, kann aber auch Komplexität und eine enge Kopplung zwischen Ober- und Unterklassen verursachen. Übermäßiger Gebrauch kann zu tiefen und verschachtelten Hierarchien führen, die schwer verständlich und zu warten sind. Modernes Design bevorzugt daher oft die Komposition gegenüber der Vererbung. Dabei enthält ein Objekt eine Instanz eines anderen Objekts, um Code wiederzuverwenden und eine „hat-ein“-Beziehung darzustellen.

UNESCO Nomenclature: 1203
- Computerwissenschaften

Typ

Abstraktes System

Störung

Substanzielles

Verwendung

Weitverbreitete Verwendung

Vorläufer

  • das Konzept der hierarchischen Klassifikation in Biologie und Philosophie
  • Datenstrukturen, die andere Datenstrukturen enthalten könnten
  • die Notwendigkeit der Code-Wiederverwendung in großen Softwaresystemen
  • das Design der Simula-Sprache, die Klassen und Vererbung einführte

Anwendungen

  • gui Widget-Toolkits (z. B. eine „button“-Klasse, die von einer „control“-Klasse erbt)
  • Frameworks für die Webentwicklung (z. B. Controller-Klassen, die von einem Basis-Controller erben)
  • game development (e.g., ‘orc’ and ‘elf’ classes inheriting from a ‘character’ class)
  • Modellierung biologischer Klassifikationen
  • creating specialized exception types in programming languages

Patente:

NA

Potenzielle Innovationsideen

  • erweiterbare Plugin-Architekturen für Software wie WordPress oder VSCode
  • customizable user interface themes in operating systems
  • Transferlernen in neuronalen Netzwerken, bei dem ein Basismodell für eine neue Aufgabe erweitert wird
  • Versionierungssysteme für Softwarekomponenten unter Verwendung von Klassenhierarchien
  • generische Datenzugriffsebenen, die für verschiedene Datenbanken spezialisiert werden können (z. B. SQL, NoSQL)
  • komponentenbasierte Entity-Systeme in Game-Engines
  • mehrschichtige Sicherheitsprotokolle, die von einem Basisprotokollstandard erben
  • erweiterbare Frameworks für die Finanzmodellierung
  • anpassbares Roboterverhalten, das von einer Basis-Robotikplattform übernommen wird
  • domänenspezifische Sprachen (DSLs), die durch die Erweiterung einer Kernsprachengrammatik erstellt werden
Verwandt mit: Vererbung, Unterklasse, Oberklasse, abgeleitete Klasse, Basisklasse, Code-Wiederverwendung, Hierarchie, ist-ein-Beziehung, Polymorphismus, Überschreiben.

Historischer Kontext

Vererbung (OOP-Programmierung)

1953
1960
1960
1967
1970
1970
1970
1952
1956
1960
1967
1967
1970
1970
1970

(wenn das Datum unbekannt oder nicht relevant ist, z. B. „Strömungsmechanik“, wird eine gerundete Schätzung seines bemerkenswerten Auftretens bereitgestellt)

10. Jahr Jubiläum

Bilder in voller Größe und Downloads sind nur für registrierte Mitglieder 100% kostenlos verfügbar.

> Login <