Entwurfsmuster · Senior · Frage 46 von 75
Was ist der Unterschied zwischen „Implementierungsvererbung“ und „Schnittstellenvererbung“?
- 1Die erste übernimmt den Code der Eltern, die zweite nur den Vertrag
- 2Es ist dasselbe; nur die Syntax unterscheidet sich
- 3Die erste funktioniert nur in TypeScript, die zweite nur in JavaScript
Antwort zeigen
Richtige Antwort: Die erste übernimmt den Code der Eltern, die zweite nur den Vertrag
Erklärung
extends einer Klasse zieht die Implementierung mit und erzeugt starke Kopplung an die Elternklasse. implements oder strukturelle Typisierung legen nur den Vertrag fest. Die meisten Ratschläge „Komposition statt Vererbung“ zielen genau auf Implementierungsvererbung.