- 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
NauczycieliAdministracja, 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.