Ali ima lahko abstraktni razred konstruktor?
Ali ima lahko abstraktni razred konstruktor?
Če je, kako ga lahko uporabimo in za katere namene?
581
3
Ali ima lahko abstraktni razred konstruktor?
Če je, kako ga lahko uporabimo in za katere namene?
Da, abstraktni razred ima lahko konstruktor. Razmislite o tem:
Nadrazred
Product
je abstrakten in ima konstruktor. Konkretni razredTimesTwo
ima konstruktor, ki samo trdo kodira vrednost 2. Konkretni razredTimesWhat
ima konstruktor, ki omogoča klicatelju, da določi vrednost.Abstraktni konstruktorji se pogosto uporabljajo za uveljavljanje omejitev ali invariant razreda, kot so minimalna polja, potrebna za vzpostavitev razreda.
Da, lahko ima konstruktor, ki je definiran in se obnaša enako kot konstruktor kateregakoli drugega razreda. Razen tega, da abstraktnih razredov ni mogoče neposredno instancirati, temveč le razširiti, zato je uporaba vedno iz konstruktorja podrazreda.
Razmislite o tem:
Nadrazred je abstrakten in ima konstruktor.