Esempio di codice semplice di aggregazione - è corretto?

3

Scusate l'esempio / analogia povero, mi interessa solo l'esempio del codice.

Ho una lezione Dinner_Chair (ereditata dalla classe Chair). È come segue.

Dinner_Chair = class(Chair)
    Private
      theUser: Person;

    Public
      Dinner_Chair()
      {
            Back = new Back();
            Seat = new Seat();
      }
End

Ho anche una semplice classe Person, che come puoi vedere, è associata alla classe Dinner_Chair.

La mia domanda è questa. Poiché la classe Person non viene istanziata nella classe Dinner_Chair, questo è un esempio di aggregazione?

Questo per consolidare le mie conoscenze sulle entry level relazioni OOP.

    
posta user3396486 14.03.2017 - 15:09
fonte

1 risposta

2

In termini di codice, potrebbe essere aggregazione ma non necessariamente. Nel mondo reale delle sedie da pranzo e delle persone / commensali, la relazione non è aggregazione perché entrambi gli oggetti possono esistere indipendentemente l'uno dall'altro.

La differenziazione rispetto al campione di codice è se un Dinner_Chair è un oggetto valido senza Person .

Aggregazione implica che Person sia una dipendenza richiesta di Dinner_Chair - cioè Dinner_Chair non è valido senza Person .

Associazione implica che Person sia una dipendenza facoltativa di Dinner_Chair - i.e Dinner_Chair è valida senza Person .

    
risposta data 14.03.2017 - 15:52
fonte

Leggi altre domande sui tag