Ali lahko podrazred pokliče konstruktor nadrejenega razreda?
Ali lahko podrazred pokliče konstruktor nadrejenega razreda?

Video: Ali lahko podrazred pokliče konstruktor nadrejenega razreda?

Video: Ali lahko podrazred pokliče konstruktor nadrejenega razreda?
Video: Статистическое программирование с помощью R, Коннор Харрис 2024, November
Anonim

Ne a podrazred ne more podedovati konstruktorji svojega nadrazreda. Konstruktorji so člani posebne funkcije a razred v tem, da jih ne podeduje podrazred . Konstruktorji se uporabljajo za podajanje veljavnega stanja za objekt ob ustvarjanju.

Ali so v zvezi s tem konstruktorji podedovani, ali lahko podrazred pokliče konstruktor nadrejenega razreda?

"priklicati" konstruktor nadrejenega razreda pri otroku razred vedno potrebujete ključno besedo "super". Konstruktorji niso člani, torej niso podedoval od podrazredov , toda konstruktor nadrazreda lahko priklicati iz podrazred.

Veš tudi, kako pokličeš konstruktor za nadrejeni razred? Da bi zagnali a nadrejeni konstruktor , a pokliči do starš ::_construct() znotraj otroka konstruktor je potrebno. Če otrok ne opredeli a konstruktor potem je lahko podedovana od starševski razred tako kot navaden razred metoda (če ni bila deklarirana kot zasebna).

Kasneje se postavlja vprašanje, ali lahko pokličemo konstruktor podrazreda iz konstruktorja nadrazreda v Javi?

ti ne more pokliči a konstruktor podrazreda od konstruktor super razreda . Klicanje the konstruktor od a podrazred znotraj konstruktor osnovnega razreda ni mogoče. Razlogi za to so različni, vendar eno je to a konstruktor izpeljanega razreda klice , implicitno ali eksplicitno, a konstruktor osnovnega razreda.

Kako podrazred pokliče konstruktor svojega nadrazreda?

A podrazred lahko ima svoje lastne člane zasebnih podatkov, tako a podrazred lahko tudi svoje lastno konstruktorji . Tako, ko je a podrazred predmet je instanciran podrazred objekt mora tudi samodejno izvesti enega od konstruktorji od superrazred . Za pokliči a konstruktor superrazreda uporabljena je ključna beseda super.

Priporočena: