Als «inheritance» getaggte Fragen

Vererbung ist eine Möglichkeit, den Code vorhandener Objekte wiederzuverwenden oder einen Subtyp aus einem vorhandenen Objekt oder aus beiden zu erstellen, abhängig von der Unterstützung der Programmiersprache.


9
Gibt es einen „echten“ Grund, warum Mehrfachvererbung gehasst wird?
Die Idee, mehrere Vererbungen in einer Sprache zu unterstützen, hat mir immer gefallen. Meistens wird jedoch absichtlich darauf verzichtet, und der vermeintliche "Ersatz" sind Schnittstellen. Interfaces decken einfach nicht den gleichen Grund ab, den Mehrfachvererbung hat, und diese Einschränkung kann gelegentlich zu mehr Boilerplate-Code führen. Der einzige Grund, den ich …

5
Warum sollte ich Kompositionen der Vererbung vorziehen?
Ich habe immer gelesen, dass Kompositionen der Vererbung vorzuziehen sind. Ein Blogbeitrag über andere Arten zum Beispiel befürwortet die Verwendung von Komposition anstelle von Vererbung, aber ich kann nicht sehen, wie Polymorphismus erreicht wird. Aber ich habe das Gefühl, wenn Leute sagen, sie bevorzugen Komposition, dann meinen sie wirklich, sie …


7
Wann werden abstrakte Klassen anstelle von Schnittstellen mit Erweiterungsmethoden in C # verwendet?
"Abstrakte Klasse" und "Schnittstelle" sind ähnliche Konzepte, wobei die Schnittstelle die abstraktere der beiden ist. Ein entscheidender Faktor ist, dass abstrakte Klassen bei Bedarf Methodenimplementierungen für abgeleitete Klassen bereitstellen. In C # wurde dieser Differenzierungsfaktor jedoch durch die kürzliche Einführung von Erweiterungsmethoden reduziert, die es ermöglichen, Implementierungen für Schnittstellenmethoden bereitzustellen. …


17
Ist die OO-Programmierung wirklich so wichtig wie die Einstellung von Unternehmen? [geschlossen]
Ich beende gerade mein Masterstudium (in Informatik) und bewerbe mich um eine Stelle. Ich habe bemerkt, dass viele Unternehmen speziell nach einem Verständnis der Objektorientierung fragen. Beliebte Interviewfragen betreffen Vererbung, Polymorphismus, Zugriffsmethoden usw. Ist OO wirklich so wichtig? Ich hatte sogar ein Interview für einen Programmierjob in C und die …


3
Was ist ein Typensystem?
Hintergrund Ich entwerfe eine Sprache als Nebenprojekt. Ich habe einen funktionierenden Assembler, einen statischen Analysator und eine virtuelle Maschine dafür. Da ich mit der von mir aufgebauten Infrastruktur bereits nicht-triviale Programme kompilieren und ausführen kann, habe ich mir überlegt, an meiner Universität einen Vortrag zu halten. Während meines Vortrags erwähnte …



11
Nur-Konstruktor-Unterklassen: Ist dies ein Anti-Pattern?
Ich hatte eine Diskussion mit einem Kollegen, und es kam zu widersprüchlichen Vorstellungen über den Zweck der Unterklassenbildung. Meine Intuition ist, dass wenn eine primäre Funktion einer Unterklasse darin besteht, einen begrenzten Bereich möglicher Werte ihrer Eltern auszudrücken, es wahrscheinlich keine Unterklasse sein sollte. Er argumentierte für die gegenteilige Intuition: …


11
Sind abstrakte Klassen / Methoden überholt?
Ich habe viele abstrakte Klassen / Methoden erstellt. Dann habe ich angefangen, Schnittstellen zu verwenden. Jetzt bin ich mir nicht sicher, ob Interfaces abstrakte Klassen nicht überflüssig machen. Sie benötigen eine vollständig abstrakte Klasse? Erstellen Sie stattdessen eine Schnittstelle. Sie benötigen eine abstrakte Klasse mit einer Implementierung? Erstellen Sie eine …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.