Субкласс ата-эненин класстын конструкторун чакыра алабы?
Субкласс ата-эненин класстын конструкторун чакыра алабы?

Video: Субкласс ата-эненин класстын конструкторун чакыра алабы?

Video: Субкласс ата-эненин класстын конструкторун чакыра алабы?
Video: Что такое саб-класс и зачем он нужен? 2024, Май
Anonim

Жок а подкласс мураска ала албайт конструкторлор анын суперклассынын. Конструкторлор а-нын өзгөчө функциясынын мүчөлөрү болуп саналат класс алар тарабынан мурас кылынбагандыктан подкласс . Конструкторлор түзүүдө объект үчүн жарактуу абалды берүү үчүн колдонулат.

Ушуга байланыштуу конструкторлор мураска алынганбы, субкласс ата-эне класстын конструкторун чакыра алабы?

"Чакыруу" ата-эне классынын конструктору балада класс сизге ар дайым "супер" ачкыч керек. Конструкторлор мүчөлөрү эмес, ошондуктан алар эмес тукум кууп өткөн тарабынан подкласстар , Бирок конструктор суперкласстын болот тартып чакырылат подкласс.

Ошондой эле билесизби, ата-эне классы үчүн конструкторду кантип чакырса болот? иштетүү үчүн а ата-конструктор , а чалуу чейин ата-эне ::_construct() баланын ичинде конструктор талап кылынат. Эгерде бала аныктабаса а конструктор анда ал мураска калышы мүмкүн ата-энелер классы кадимкидей эле класс ыкмасы (эгерде ал купуя деп жарыяланган эмес).

Андан кийин, суроо туулат: биз Javaдагы суперкласс конструкторунан субкласс конструкторун чакырсак болобу?

сен мүмкүн эмес чалуу а подкласс конструктор тартып а супер класстагы конструктор . Чалуу the конструктор а подкласс ичинде конструктор базалык класстын болушу мүмкүн эмес. Мунун ар кандай себептери бар, бирок бир бул а конструктор туунду класска кирет чалуулар , кыйыр түрдө же ачыктан-ачык, а конструктор базалык класстын.

Кантип субкласс өзүнүн суперклассынын конструкторун чакырат?

А подкласс ээ болот анын жеке маалымат мүчөлөрүнө ээ, ошондуктан а подкласс да болушу мүмкүн анын менчик конструкторлор . Ошентип, качан а подкласс объект инстанцияланган подкласс объект ошондой эле автоматтык түрдө бирин аткарышы керек конструкторлор ныкы суперкласс . үчүн чалуу а суперкласс конструктор супер ачкыч сөз колдонулат.

Сунушталууда: