- Zrozumienie pojęć ukrywania danych oraz enkapsulacji w programowaniu obiektowym.
- Implementacja klas w językach C++ oraz Java, które stosują ukrywanie danych i enkapsulację.
- Praktyczne zastosowanie getterów i setterów w celu zarządzania dostępem do prywatnych atrybutów klasy.
-
Ukrywanie danych: Ukrywanie wewnętrznych szczegółów klasy poprzez oznaczenie atrybutów jako prywatnych (private). Zapewnia to, że dane nie będą bezpośrednio dostępne poza klasą.
-
Enkapsulacja: Technika polegająca na łączeniu danych i metod, które te dane modyfikują, wewnątrz jednej klasy, a także ograniczaniu dostępu do tych danych poprzez stosowanie prywatnych atrybutów oraz publicznych metod dostępowych (gettery i settery).
Utwórz klasę Osoba
w językach C++ i Java, która będzie posiadała prywatne atrybuty oraz publiczne metody dostępu (gettery i settery).
-
Stwórz prywatne atrybuty:
- C++ i Java:
imię
(string),nazwisko
(string),wiek
(int).
- C++ i Java:
-
Stwórz publiczne metody dostępu:
- Gettery: Metody pozwalające na odczytanie wartości prywatnych atrybutów.
- Settery: Metody pozwalające na ustawienie wartości prywatnych atrybutów.
Rozbuduj klasę Osoba
, dodając nowe prywatne atrybuty i metody dostępu oraz wprowadź dodatkowe zasady walidacji danych.
-
Dodaj prywatne atrybuty:
- C++ i Java:
email
(string),telefon
(string).
- C++ i Java:
-
Zaimplementuj walidację w setterach:
- Sprawdź, czy adres email zawiera znak '@'.
- Sprawdź, czy numer telefonu ma odpowiednią długość (np. 9 cyfr).
Utwórz hierarchię klas, w której zastosujesz modyfikator protected do ochrony atrybutów dziedziczonych przez klasy potomne. Zaimplementuj klasę bazową Pracownik, a następnie utwórz klasy pochodne Nauczyciel i Administracja, które będą dziedziczyć atrybuty chronione.
- Stwórz klasę bazową
Pracownik
:
- Zastosuj modyfikator protected do atrybutów
stanowisko
(string) iwynagrodzenie
(float).
-
Stwórz klasy dziedziczące
Nauczyciel
iAdministracja
, które dziedziczą atrybuty klasyPracownik
. -
Zaimplementuj metodę
pokazDane()
w każdej klasie potomnej, która korzysta z chronionych atrybutów.
W ramach tego laboratorium studenci:
-
Zrozumieli koncepcję ukrywania danych oraz enkapsulacji, chroniąc prywatne dane za pomocą getterów i setterów.
-
Nauczyli się używać modyfikatora dostępu protected w kontekście dziedziczenia klas, umożliwiając dostęp do chronionych atrybutów w klasach potomnych.
-
Zrozumieli, w jakich sytuacjach stosuje się różne modyfikatory dostępu (private, protected, public) i jak wpływają one na bezpieczeństwo danych i dziedziczenie.
To laboratorium umożliwi studentom praktyczne zrozumienie i zastosowanie ukrywania danych oraz enkapsulacji w językach C++ i Java.