In informatica, il polimorfismo è una caratteristica del linguaggio di programmazione che consente di gestire i valori di diversi tipi di dati in modo uniforme.
Ho una solida conoscenza della maggior parte della teoria OO, ma l'unica cosa che mi confonde molto sono i distruttori virtuali. Ho pensato che il distruttore venisse sempre chiamato, non importa cosa e per ogni oggetto nella catena. Quando hai intenzione di renderli virtuali e perché?
Sono un po 'confuso su come i generici Java gestiscono l'ereditarietà / il polimorfismo. Supponiamo la seguente gerarchia: Animale (genitore) Cane - Gatto (Bambini) Supponiamo quindi di avere un metodo doSomething(List<Animal> animals). Secondo tutte le regole di ereditarietà e polimorfismo, suppongo che a List<Dog> is a List<Animal>e a List<Cat> is …
In termini di Java, quando qualcuno chiede: che cos'è il polimorfismo? Il sovraccarico o l' override sarebbe una risposta accettabile? Penso che ci sia qualcosa di più. SE tu avessi una classe base astratta che ha definito un metodo senza implementazione e hai definito quel metodo nella sottoclasse, è ancora …
Oggi mi è stata presentata questa domanda in un esame di fine libro aperto e mi sono ritrovato perso. Stavo leggendo Head first Javaed entrambe le definizioni sembravano essere esattamente le stesse. Mi stavo solo chiedendo quale fosse la differenza PRINCIPALE per il mio pensiero. So che ci sono una …
È sbagliato scrivere: class A { public: virtual ~A() = 0; }; per una classe base astratta? Almeno questo si compila in MSVC ... Si bloccherà in fase di esecuzione?
Sai come in Eclipse, premendo F3 su un metodo ti porterà alla sua dichiarazione? Bene, ho un metodo che fa parte di un'interfaccia; fare clic F3su questo mi porta naturalmente all'interfaccia dichiarante. Ovviamente c'è un oggetto che implementa questa interfaccia ed è qui che il metodo è effettivamente implementato. Quando …
Sto scrivendo un modulo e voglio avere una gerarchia di eccezioni unificata per le eccezioni che può sollevare (ad esempio ereditando da una FooErrorclasse astratta per tutte le fooeccezioni specifiche del modulo). Ciò consente agli utenti del modulo di catturare quelle particolari eccezioni e gestirle distintamente, se necessario. Ma molte …
Ho due classi Java: B, che estende un'altra classe A, come segue: class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } } Vorrei chiamare il A.myMethod()da B.myMethod(). Vengo dal mondo C ++ e …
PER QUANTO NE SO: Il C ++ fornisce tre diversi tipi di polimorfismo. Funzioni virtuali Sovraccarico del nome della funzione Sovraccarico dell'operatore Oltre ai suddetti tre tipi di polimorfismo, esistono altri tipi di polimorfismo: run-time in fase di compilazione polimorfismo ad hoc polimorfismo parametrico So che il polimorfismo di runtime …
C'è qualche differenza tra List<Map<String, String>> e List<? extends Map<String, String>> ? Se non ci sono differenze, quali sono i vantaggi dell'utilizzo ? extends?
Qual è il vantaggio di rendere virtuale un metodo privato in C ++? L'ho notato in un progetto C ++ open source: class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };
Prendi il seguente: 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) {} } Perché si …
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.