Una classe astratta può avere un costruttore?
Una classe astratta può avere un costruttore?
Se sì, come può essere usato e per quali scopi?
581
3
Una classe astratta può avere un costruttore?
Se sì, come può essere usato e per quali scopi?
Sì, una classe astratta può avere un costruttore. Considerate questo:
La superclasse
Product
è astratta e ha un costruttore. La classe concretaTimesTwo
ha un costruttore che semplicemente codifica il valore 2. La classe concretaTimesWhat
ha un costruttore che permette al chiamante di specificare il valore.I costruttori astratti saranno spesso usati per far rispettare vincoli o invarianti di classe, come i campi minimi richiesti per impostare la classe.
NOTA: poiché non c'è un costruttore predefinito (o no-arg) nel genitore classe astratta, il costruttore usato nella sottoclasse deve chiamare esplicitamente il costruttore padre.
Sì, può avere un costruttore ed è definito e si comporta come qualsiasi altro costruttore di classe. Solo che le classi astratte non possono essere istanziate direttamente, ma solo estese, quindi l'uso è sempre da un costruttore di una sottoclasse.
Considera questo:
La superclasse è astratta e ha un costruttore.