È necessario spiegare che OOAD "è una" gerarchia
-
21-09-2019 - |
Domanda
Ho un acquisto Analisi orientata agli oggetti e progettazione con applicazioni, a pagina 64 il paragrafo 2 spiega come "è una" gerarchia come di seguito.
In termini di gerarchia “è un”, un’astrazione di alto livello è generalizzata e un’astrazione di basso livello è specializzata.Pertanto, diciamo che una classe Fiore si trova a un livello di astrazione più elevato rispetto a una classe Pianta.
A quanto ho capito, penso che la pianta sia più generalizzata rispetto al fiore rispetto alla classe dei fiori inferiore livello di estrazione rispetto alla pianta.
Voglio sapere a questo punto la mia comprensione è corretta o il libro è corretto?Per favore chiariscimi.
Soluzione
Sono d'accordo, questa citazione è sbagliata. Con la definizione qui, Plant è a un livello superiore di astrazione di fiori:. La definizione è corretta, i nomi nell'esempio sono trasposti
Altri suggerimenti
L'impianto e l'esempio fiore per è-un gerarchie è probabilmente il peggiore che abbia mai sentito!
Una macchina è-un veicolo. Un cane è-un mammifero. Un conto di risparmio è-un conto (n). Tutti questi sono tipici e facilmente comprensibili esempi.
Ciò che hai citato non suona del tutto corretto.Avrei capito che Pianta si trova a un livello di astrazione più elevato rispetto a Fiore, supponendo che Fiore erediti da Pianta.Perciò,
Un fiore is a
Pianta
Ma
Una Pianta non è necessariamente un Fiore
Non direi che l'affermazione "Un Fiore è una pianta" è vero, a mio parere, una pianta ha-un Fiore. Penso che ci sia un po 'di contesto mancante.
Credo che l'autore del libro sta spiegando su gerarchie di ereditarietà qui. Se un'entità è al vertice della gerarchia, è o deve essere più generalizzata (o astratto) rispetto a quelli sottostanti nella gerarchia. E 'cattivo design di avere un soggetto che eredita da un'altra entità, ma essere più astratto rispetto al suo genitore (traducendo a una classe astratta che eredita da una classe concreta).