Pensavo di aver capito l'ereditarietà e il polimorfismo, ma mi è stata data questa domanda, e non posso, per la vita di me, capire quale sia la risposta corretta o a cosa stanno cercando di ottenere:
The process of determining which method in a class hierarchy should execute is known as:
- a) inheritance
- b) polymorphism
- c) is-a
- d) has-a
- e) parent class
Osservando ognuno dei termini, nessuno di loro sembra la risposta corretta.
L'ereditarietà è proprio quando una classe ottiene automaticamente le variabili e i metodi pubblici nella sua classe genitore. Quindi chiaramente non è la risposta giusta.
Polymorphism ci permette di scrivere un metodo per gestire l'oggetto A, e come risultato funzionerà con tutto ciò che estende l'oggetto A (o continua ad estenderlo, IE Object B estende Object A. Object C estende l'oggetto B, ecc. Quindi questa chiaramente non è la risposta giusta!
Is-a : non ha alcun senso. Is-a è appena usato per dichiarare che una classe è un'istanza della sua classe genitore (il cane è un animale), quindi eredita le sue variabili e metodi pubblici. Non vedo come questo "determini quale metodo in una gerarchia di classi debba essere eseguito"
Has-a : non ho molta familiarità con questo, ma è essenzialmente composizione, dove Object-A ha-un oggetto B, ma object-B non è un'istanza di Object A Neanche questa sembra la risposta giusta
Classe genitore : questa è solo la classe base, se tracciamo l'albero dell'eredità, la parte superiore dell'albero è la classe genitore.
Qualcuno può spiegare quale termine può anche essere definito come "Il processo per determinare quale metodo in una gerarchia di classi deve essere eseguito è noto come"?
Non sto capendo uno o più termini? Si tratta semplicemente di una domanda formulata male?