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.
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 6 Jahren . Also wollte ich von a sealed classin csharp erben …
Aus heutiger Sicht passt diese Frage nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich Debatten, Argumente, Abstimmungen oder erweiterte Diskussionen hervorrufen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden …
Es gibt einige ähnliche Fragen 1 ,2 ,3 ,4 , aber nicht scheint genau der Fall in dieser Frage, noch scheinen die Lösungen optimal. Dies ist eine allgemeine OOP-Frage, vorausgesetzt, Polymorphismus, Generika und Mixins sind verfügbar. Die tatsächlich zu verwendende Sprache ist OOP Javascript (Typescript), aber es ist das gleiche …
Betrachten Sie eine Schnittstelle: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Diese Schnittstelle wird von einer Reihe von Klassen implementiert, die Wellen unterschiedlicher Form erzeugen (z. B. SineWaveGeneratorund SquareWaveGenerator). Ich möchte eine Klasse implementieren, die SoundWavebasierend auf Musikdaten und nicht auf Rohtondaten generiert . Es würde den Namen …
Ich habe daran gearbeitet, Code zu überarbeiten, und ich glaube, ich habe den ersten Schritt im Kaninchenbau getan. Ich schreibe das Beispiel in Java, aber ich nehme an, es könnte agnostisch sein. Ich habe eine Schnittstelle Foodefiniert als public interface Foo { int getX(); int getY(); int getZ(); } Und …
Ich habe zwei Objekte, die eine 'Bar / Club' darstellen (ein Ort, an dem Sie trinken / Kontakte knüpfen). In einem Szenario benötige ich den Balkennamen, die Adresse, die Entfernung und den Slogon In einem anderen Szenario benötige ich den Balkennamen, die Adresse, die Website-URL und das Logo Ich habe …
Hoffentlich nicht zu akademisch ... Angenommen, ich benötige reelle und komplexe Zahlen in meiner SW-Bibliothek. Basierend auf der is-a- Beziehung (oder hier ) ist die reelle Zahl eine komplexe Zahl, wobei b im Imaginärteil der komplexen Zahl einfach 0 ist. Auf der anderen Seite wäre meine Implementierung, dass das Kind …
Ich verfolge diese Frage , aber ich konzentriere mich von Code auf ein Prinzip. Nach meinem Verständnis des Liskov-Substitutionsprinzips (LSP) müssen alle Methoden in meiner Basisklasse in meiner Unterklasse implementiert werden, und laut dieser Seite, wenn Sie eine Methode in der Basisklasse überschreiben und sie nichts tut oder eine auslöst …
Obwohl in den Java-Dokumenten angegeben ist, dass schwache Referenzen in erster Linie zur Kanonisierung von Zuordnungen dienen, finden Sie im Internet viele , viele , viele Leute, die angeben, dass die WeakHashMap perfekt zum Speichern von Objektmetadaten während ihrer Lebensdauer geeignet ist. Es stört jedoch niemanden, ein verständliches UND angemessenes …
Wie sieht die idiomatische Vererbung in Python aus, da Python eine Mehrfachvererbung zulässt? In Sprachen mit einfacher Vererbung wie Java wird die Vererbung verwendet, wenn Sie sagen können, dass ein Objekt ein anderes Objekt "ist" und Sie Code zwischen den Objekten teilen möchten (vom übergeordneten Objekt zum untergeordneten Objekt). Zum …
Klasse Subist eine Unterklasse der Klasse Sup. Was bedeutet das praktisch? Oder mit anderen Worten, was ist die praktische Bedeutung von "Vererbung"? Option 1: Der Code von Sup wird virtuell nach Sub kopiert . (wie beim Kopieren und Einfügen, jedoch ohne den in der Unterklasse visuell angezeigten kopierten Code ). …
Ein Kollege von mir hat eine Faustregel für die Auswahl zwischen der Erstellung einer Basisklasse oder einer Schnittstelle entwickelt. Er sagt: Stellen Sie sich jede neue Methode vor, die Sie implementieren möchten. Für jeden von ihnen, bedenken Sie: Diese Methode wird von mehr als einer Klasse implementiert werden , in …
Kurzer Hintergrund: In JavaScript hat die Konstruktorfunktion für jeden Objekttyp eine prototypeEigenschaft. Das prototypebezieht sich auf ein Objekt, das jedes konstruierte Objekt als nächsten Schritt in seiner Prototypenkette verwendet. Wenn ein Typ einem anderen Typ inhärent sein soll, können Sie prototypeden untergeordneten Typ auf eine neue Instanz des übergeordneten Typs …
Ich habe über Entwurfsmuster nachgelesen und gelesen, dass das Prototyp-Entwurfsmuster übermäßige Unterklassen beseitigt. Warum ist die Unterklasse schlecht? Welchen Vorteil würde die Verwendung eines Prototyps gegenüber der Unterklasse haben?
Ich 'entdeckte' Schnittstellen und fing an, sie zu lieben. Das Schöne an einer Schnittstelle ist, dass es sich um einen Vertrag handelt und jedes Objekt, das diesen Vertrag erfüllt, überall dort verwendet werden kann, wo diese Schnittstelle erforderlich ist. Das Problem mit einer Schnittstelle ist, dass sie keine Standardimplementierung haben …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.