problem z kontuktorami przy dziedziczeniu

0

Witam

Mam mały problem, otóż utworzyłem sobie dwie klasy A i B, gdzie B dziedziczy z A. W klasie A mam też zadeklarowany jakiś konstruktor z parametrami. Gdy chcę zadeklarować zupełnie inny konstruktor w klasie B pojawia mi się następujący błąd:

Implicit super constructor ReceiptDocument() is undefined. Must explicitly invoke another constructor

Czy zawsze jak dziedzicze z jakiejś klasy to musze używać konstukcji "super"????

Czy jest jakiś sposób żeby to ominąć? Proszę o pomoc. Z góry dzięki

Pozdrawiam

0

Musisz zawsze. Jesli jest konstruktor domyslny, wtedy tez musisz, ale kompilator ulatiwa troche zycie sam wstawiajac to co trzeba.

0

Musisz. Ponieważ proces tworzenia obiektu opiera się wywoływanie kolejnych konstruktorów, aż do wywołania konstruktora Object(). Jedyne ułatwienie to automatyczne wstawianie konstruktora domyślnego przez kompilator.

0

Jeżeli dziedziczysz po jakiejś klasie, a obiekt tej klasy nie może zostać skonstruowany bez podania argumentów jej konstruktora (przynajmniej jednego), to nie możesz również skonstruować obiektu pochodnego od tej klasy. Jeżeli chciałbyś stworzyć np. "niebieski ołówek", to nie stworzysz go jeżeli nie wiesz jak w ogóle stworzyć "ołówek".
Kompilator "domyśli się" jak stworzyć obiekt tylko pod warunkiem, że ma tylko jeden konstruktor i to bez argumentów; obejmuje to również przypadek gdy konstruktora nie podano i kompilator musiał go stworzyć samodzielnie.

0

Ile razy jeszcze zostanie napisane to samo?

1 użytkowników online, w tym zalogowanych: 0, gości: 1