Hermetyzacja (enkapsulacja) pozwala ograniczyć dostęp do danych składowych, metod obiektów klas poprzez ich ukrycie „na zewnątrz” (np: przed innymi obiektami). Dostęp do tych elementów odbywa się poprzez tzw. modyfikatory dostępu.

W Javie mamy cztery modyfikatory:

  • public – dostęp do elementów (składowych, metod, klasy lub interfejsu) ma każdy obiekt,
  • private – najbardziej restrykcyjny modyfikator; umożliwia dostęp do elementów tylko w obrębie danej klasy; elementy prywatne nie mogą być dziedziczone,
  • protected – podobnie jak w private, z tym, że elementy chronione mogą być dziedziczone,
  • domyślny – modyfikator (bez słowa kluczowego) pozwala na dostęp do elementów w obrębie danego pakietu.

Aby uzyskać dostęp do zmiennych prywatnych stosuje się publiczne metody get set.
Ich konstrukcja ma postać:

Przykład:

Klasa Hello.java zawiera zmienną prywatną firstname oraz metody dostępowe setFirstname i getFirstname. Pierwsza ustawia imię, a druga zwraca imię. Metody te posłużą do wyświetlenia komunikatu powitalnego z imieniem np: Witaj John.

Tworzymy drugi plik HelloTest.java z klasą testującą:

Na początku tworzymy nowy obiekt klasy Hello (z pliku Hello.java):

Zmienna referencyjna hi odwołuje się do metody setFirstname i ustawia imię:

Metoda getFirstname zwraca imię, a wynik operacji wyświetla polecenie systemowe: System.out.println:

Efekt będzie taki 🙂

Czytaj dalej: DZIEDZICZENIE →