• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Hermetyzacja

42 Warsaw Coding Academy
+1 głos
1,524 wizyt
pytanie zadane 10 marca 2019 w Rozwój zawodowy, nauka, praca przez Teslum_369 Gaduła (4,190 p.)

Witam, 

Powtarzam sobie notatki szkolne z programowania obiektowego (PHP)  i natknąłem się na definicję Hermetyzcja

Mam ją wytłumaczoną tak:

Hermetyzacja to ogólna koncepcja projektowania obiektowego polegająca na ukryciu przed programistą części klasy,  wydzieleniu jej niezbędnych elementów (etykiet public,  protect,  private) 

Nie wiem czy dobrze zaskoczyła mi ta definicja. Na internecie znalazłem bardzo podobne. Czy mógłby mi ktoś wytłumaczyć własnymi słowami lub pokazać na przykładzie? (Przykład byłby dla mnie najlepszy) 

Nie jest to żadne zadanie domowe czy coś w ten deseń. Chciałbym zrozumieć tę definicję,  abym pamiętał ją przez długi czas.  Służy to tylko rozwoju mojemu, ale również innych. 

Z góry dziękuję za pomoc i pozdrawiam!  laugh

1 odpowiedź

+1 głos
odpowiedź 10 marca 2019 przez criss Mędrzec (172,590 p.)
wybrane 10 marca 2019 przez Teslum_369
 
Najlepsza

Celem hermetyzacji jest lepsza organizacja kodu głównie pod względem ograniczenia dostępu do części czegoś. Np. w przypadku gdy okazuje się, że pola jakiejś klasy zmieniają się w nieporządany sposób, to gdy takie pole jest oznaczone jako private możemy ograniczyć nasze pole poszukiwań kodu który wykonuje takie zmiany do metod tej klasy. W przypadku gdy takie pole jest public, to zmieniać je może każdy kod pracujący na obiektach tej klasy. Z tego samego powodu zmienne globalne są tak silnie niezalecane - bo nimi może manipulować absolutnie cokolwiek w ramach całego programu.

Warto zauważyć, że pojęcie hermetyzacji nie musi się ograniczać tylko do klas i obiektowości. Np. w języku C++ lub C gdy mamy funkcje w pliku źródłowym (*.cpp) oznaczoną jako static, możemy być pewni, że korzysta z niej tylko kod w tej jednostce translacji (w uproszczeniu: w tym pliku źródłowym).

Podobne pytania

+1 głos
2 odpowiedzi 1,371 wizyt
pytanie zadane 25 marca 2021 w Python przez Patryk01 Obywatel (1,270 p.)
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 11 stycznia 2018 w Java przez Ohnne Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 373 wizyt
pytanie zadane 26 lutego 2017 w C i C++ przez John Doe Obywatel (1,720 p.)

93,395 zapytań

142,389 odpowiedzi

322,569 komentarzy

62,753 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...