Laboratorium 7.pdf

(54 KB) Pobierz
Laboratorium 5 – Dziedziczenie
Laboratorium 7 – Dziedziczenie
Program ten ma być rozszerzeniem programu z laboratorium 4.
1. Proszę tak zmodyfikować program z laboratorium nr 4, żeby klasa Pudełko
dziedziczyła po klasie Przedmiot .
2. Należy pamiętać o tym, że konstruktor klasy Pudełko musi(a właściwie powinien)
wywołać konstruktor klasy bazowej ( przedmiot ),
3. Może być konieczna zmiana poziomu dostępu do pól w klasie Przedmiot ( private ->
protected ), tak, aby mogły być one dostępne w klasach pochodnych.
4. Proszę dodać metodę wypisującą informacje z obiektu na ekran. Powinna być
wirtualna i zdefiniowana w obu klasach. Należy dobrze się zastanowić nad jej postacią
w klasie Pudełko .
Po tych zmianach wewnątrz klasy Pudełko będzie można przechowywać zarówno
obiekty klasy Przedmiot , jak i inne Pudełka . Należy zabezpieczyć się przed sytuacją kiedy
do pudełka dodawany jest this . Proszę napisać kod demonstrujący tą możliwość.
Zagadnienia
1. Co to jest dziedziczenia?
2. Jak się je implementuje?
3. Jakich składników się nie dziedziczy?
4. Dziedziczenie a modyfikatory dostępu (public/protected/private).
5. Jak się wywołuje konstruktor nadklasy?
6. Dlaczego się wywołuje konstruktor nadklasy?
7. Przebieg konstrukcji obiektu klasy złożonej.
8. Metody wirtualne: definiowanie i sposób działania.
9. Polimorfizm.
10. Różnica między przeciążeniem, a wirtualnością: w definiowaniu i działaniu.
11. Dlaczego używa się dwuwymiarowych tablic obiektów, pomimo wykorzystywania
faktycznie tylko jednego ich wymiaru?
12. Klasa abstrakcyjna.
13. Czy można utworzyć obiekt klasy abstrakcyjnej?
14. Metoda czysto wirtualna (ang. pure virtual): co to jest, co powoduje, jak się
definiuje?
Bez znajomości dziedziczenia nie ma szans na zaliczenia laboratorium. Proszę być
przygotowanym na odpowiedz ustną jak i na napisanie przykładu. Proszę tez w razie
najmniejszych wątpliwości i niejasności pytać. Jest to bardzo ważne zagadnienie i tak też
będzie przeze mnie traktowane.
Zgłoś jeśli naruszono regulamin