17. Hermetyzacja

Hermetyzacja – Java to język silne obiektowy. Każdy program napisany w języku Java składa się z klas i obiektów.

Hermetyzacja (enkapsulacja) to mechanizm polegający na ukrywaniu pewnych danych umieszczonych w klasach. Jest to sposób odizolowania od innych klas wybranych danych i funkcji zgromadzonych w danej klasie

Modyfikator dostępu (modyfikator widoczności) – to słowa kluczowe, które maja wpływ na widoczność elementu, który poprzedzają (składowe, metody, klasy)

Hermetyzacja w Javie

Zalety stosowania hermetyzacji w Javie

  • ukrywanie wewnętrznych cech implementacji danej klasy
  • zapobiega przypadkowej ingerencji w wewnętrzną strukturę obiektu
  • umożliwia zdefiniowanie interfejsu, który określa sposób manipulowania wewnętrznymi strukturami obiektu

Zalety stosowania hermetyzacji w Javie

Modyfikatory dostępu w Javie:

  • public  
  • private 
  • default (package)
  • protected

public to największy poziomem widoczności – klasy, pola i metody oznaczone w ten sposób są widoczne dla wszystkich innych klas.

Protected  jest dostępny dla klas zdefiniowanej w tym samym pakiecie oraz w klasach dziedziczących (zrozumiesz, gdy w kolejnych odcinkach poznasz mechanizm dziedziczenia) po klasie, która zawiera pola czy metody oznaczone jako protected.

Private elementy z dostępem prywatnym są widoczne tylko dla struktur zdefiniowanych w tej samej klasie.

Package (default) modyfikator domyślny ogranicza widoczność do klas z tego samego pakietu.

Metody Get i Set (Getter i Setter)

Metoda get (akcesor) i metoda set (mutator) służą do operacji na polach klasy, które zgodnie z ideą hermetyzacji są prywatne. I właśnie dzięki wspomnianym metodom możemy odpowiednio pobierać wartość danego (get) pola oraz ustawiać wartość dla danego pola (set). Jako, że metody te powinny być publiczne, to korzystamy z nich tam, gdzie tego potrzebujemy (metody są publiczne i do wykorzystania z dowolnego miejsca)

Notatka o autorze:

Zajmuję się testowaniem, zabezpieczaniem i zapewnianiem jakości oprogramowania od ponad 13 lat. Rozpocząłem swoją karierę od testów manualnych i analizy biznesowo-technicznej. Obecnie prowadzę firmę Quality Island, która zajmuje się szeroko pojętym testowaniem oprogramowania oraz szkoleniami dla przyszłych i obecnych testerów oprogramowania. Moją specjalnością są testy automatyczne aplikacji webowych oraz budowa procesów automatyzacji i robotyzacji. Od 8 lat prowadzę aktywnie szkolenia oraz konsultacje z tych tematów i wykonuję zlecenia dla firm trzecich jako konsultant, ekspert oraz audytor. Współpracuję również z firmami jako osoba do rekrutacji i weryfikacji technicznych. Interesują mnie głównie tematy związane z architekturą IT oraz zagadnienia DevOps/TestOps, ponieważ ściśle wiążą się z zapewnianiem jakości oprogramowania.

 

Tomasz Stelmach

CEO&Founder

 

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *