Ich habe ein solides Verständnis für die meisten OO-Theorien, aber das einzige, was mich sehr verwirrt, sind virtuelle Destruktoren. Ich dachte, dass der Destruktor immer aufgerufen wird, egal was und für jedes Objekt in der Kette. Wann sollen sie virtuell gemacht werden und warum?
Ich bin etwas verwirrt darüber, wie Java-Generika mit Vererbung / Polymorphismus umgehen. Nehmen Sie die folgende Hierarchie an - Tier (Eltern) Hund - Katze (Kinder) Angenommen, ich habe eine Methode doSomething(List<Animal> animals). Nach allen Regeln der Vererbung und Polymorphismus, würde ich davon ausgehen , dass ein List<Dog> ist ein List<Animal>und …
In Bezug auf Java, wenn jemand fragt: Was ist Polymorphismus? Wäre Überladen oder Überschreiben eine akzeptable Antwort? Ich denke, da steckt noch ein bisschen mehr dahinter. Wenn Sie eine abstrakte Basisklasse hatten, die eine Methode ohne Implementierung definiert hat, und diese Methode in der Unterklasse definiert haben, ist das immer …
Diese Frage wurde mir heute in einer Open-Book-Prüfung zum Ende des Moduls gestellt und ich fand mich verloren. Ich las Head first Javaund beide Definitionen schienen genau gleich zu sein. Ich habe mich nur gefragt, was der Hauptunterschied für meine eigene Meinung ist. Ich weiß, dass es eine Reihe ähnlicher …
Ist es falsch zu schreiben: class A { public: virtual ~A() = 0; }; für eine abstrakte Basisklasse? Zumindest wird das in MSVC kompiliert ... Wird es zur Laufzeit abstürzen?
Sie wissen, wie Sie in Eclipse durch Drücken F3einer Methode zu deren Deklaration gelangen? Nun, ich habe eine Methode, die Teil einer Schnittstelle ist. Wenn F3ich darauf klicke, komme ich natürlich zur deklarierenden Oberfläche. Offensichtlich gibt es ein Objekt, das diese Schnittstelle implementiert, und hier wird die Methode tatsächlich implementiert. …
Ich schreibe ein Modul und möchte eine einheitliche Ausnahmehierarchie für die Ausnahmen haben, die es auslösen kann (z. B. Erben von einer FooErrorabstrakten Klasse für alle foospezifischen Ausnahmen des Moduls). Auf diese Weise können Benutzer des Moduls diese bestimmten Ausnahmen abfangen und bei Bedarf eindeutig behandeln. Viele der vom Modul …
Ich habe zwei Java-Klassen: B, die eine andere Klasse A wie folgt erweitert: class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } } Ich möchte das A.myMethod()von anrufen B.myMethod(). Ich komme aus der …
Gibt es einen Unterschied zwischen List<Map<String, String>> und List<? extends Map<String, String>> ? Wenn es keinen Unterschied gibt, welchen Nutzen hat die Verwendung ? extends?
SO VIEL ICH WEISS: C ++ bietet drei verschiedene Arten von Polymorphismus. Virtuelle Funktionen Überladung des Funktionsnamens Überlastung des Bedieners Zusätzlich zu den drei oben genannten Arten von Polymorphismus gibt es andere Arten von Polymorphismus: Laufzeit Kompilierungszeit Ad-hoc-Polymorphismus parametrischer Polymorphismus Ich weiß, dass Laufzeitpolymorphismus durch virtuelle Funktionen und statischer Polymorphismus …
Was ist der Vorteil, wenn eine private Methode in C ++ virtuell gemacht wird? Ich habe dies in einem Open Source C ++ - Projekt bemerkt: class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };
Nehmen Sie Folgendes: class A {} class B : A {} class C { C() { var b = new B(); Foo(b); Foo2(ref b); // <= compile-time error: // "The 'ref' argument doesn't match the parameter type" } void Foo(A a) {} void Foo2(ref A a) {} } Warum tritt …
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.