fractals87 ha scritto:
Non capisco come possa il costruttore riceve un array e impostare le uscite.
Ma non è quello il problema. Una qualunque classe, astratta o concreta che sia, può avere uno o più costruttori.
E' chiaro che se la classe è astratta, NON li puoi invocare direttamente (una classe astratta non è istanziabile direttamente). Dovrà essere una sotto-classe "concreta" ad avere uno o più costruttori e ciascuno di essi dovrà invocare uno (a sua scelta) dei costruttori della super-classe.
fractals87 ha scritto:
Connettore è astratto e percui propaga il costruttore al dimmer.
I costruttori NON si "ereditano". Se Connettore avesse
solo un costruttore che riceve un Componente[] e lo assegna al campo, allora vuol dire che
anche Dimmer (sotto-classe)
dovrebbe avere un costruttore che riceve un Componente[] e, attenzione, lo passa al costruttore di Connettore usando la forma super( .... )
Non potrebbe essere diversamente .. a meno che Dimmer trovi un altro modo per fornire al costruttore di Connettore un tot di oggetti Componente senza riceverli lui stesso dal costruttore.
La cosa certa e scontata (dalle regole di Java) è che se Connettore ha soltanto un costruttore che riceve Componente[], una sottoclasse DEVE (chiaramente nel suo costruttore) invocare questo costruttore di Connettore.
fractals87 ha scritto:
e il dimmer come lo costruisco se deve ricevere un array?
La questione è che il testo non è chiaro nemmeno su questo: COME deve essere
usato Dimmer?