„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum unterstützt Go die traditionelle Vererbung nicht?

Warum unterstützt Go die traditionelle Vererbung nicht?

Veröffentlicht am 08.11.2024
Durchsuche:116

 Why Doesn\'t Go Support Traditional Inheritance?

Vererbung in Go

Warum unterstützt Go keine traditionelle Typvererbung?

Traditionell Typvererbung, bei der eine Unterklasse die Definitionen einer oder mehrerer übergeordneter Klassen erbt, ist kein Merkmal der Go-Programmierung Sprache.

Begründung der Ersteller

In den Go-FAQ erklären die Ersteller der Sprache, dass objektorientierte Programmiersprachen häufig den Schwerpunkt auf definierende Beziehungen zwischen Typen legen, die automatisch abgeleitet werden können in Go. Anstatt Typbeziehungen explizit anzugeben, erfüllen Go-Typen automatisch jede Schnittstelle, die eine Teilmenge ihrer Methoden angibt.

Vorteile des Go-Ansatzes

Dieser Ansatz bietet mehrere Vorteile:

  • Vereinfachte Buchhaltung: Es ist nicht erforderlich, den Typ explizit zu deklarieren Beziehungen.
  • Schnittstellenflexibilität: Typen können mehrere Schnittstellen gleichzeitig erfüllen, wodurch die Komplexität der herkömmlichen Mehrfachvererbung vermieden wird.
  • Leichte Schnittstellen: Schnittstellen können verfügen über eine oder keine Methoden, sodass nützliche Konzepte ausgedrückt werden können, ohne dass ein zusätzlicher Typ erforderlich ist Anmerkungen.
  • Flexibilität für Änderungen: Schnittstellen können nachträglich hinzugefügt werden und bieten Flexibilität für neue Ideen oder Tests, ohne die ursprünglichen Typen zu ändern.
  • Fehlen von Typ Hierarchie: Das Fehlen expliziter Beziehungen zwischen Typen macht die Verwaltung oder Diskussion von Typen überflüssig Hierarchien.

Alternatives Prinzip

Go fördert das Prinzip der Komposition gegenüber der Vererbung. Dabei geht es darum, neue Typen durch Zusammensetzen vorhandener Typen zu erstellen, anstatt die Vererbung zu verwenden, um einen neuen Typ mit allen Funktionen seiner übergeordneten Typen zu erstellen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3