Hermetyzacja w Java
⚡ Inteligentne podsumowanie
Hermetyzacja w Java To mechanizm, który łączy zmienne i metody w jedną całość, jednocześnie ukrywając szczegóły wewnętrzne. Chroni dane obiektu za pomocą pól prywatnych i kontrolowanego dostępu za pomocą publicznych metod getter i setter.

W czym jest enkapsulacja Java?
Hermetyzacja w Java jest mechanizmem do pakowania zmiennych (danych) i metod (kodu) razem jako pojedynczą jednostkę. Jest to proces ukrywania szczegółów informacji i ochrony danych i zachowania obiektu. Jest to jeden z czterech ważnych konceptów OOP. Klasa enkapsulacji jest łatwa do przetestowania, więc jest również lepsza do testowania jednostkowego.
Kliknij w tym miejscu jeśli film nie jest dostępny
Poznaj enkapsulację w Java z Przykładem
Aby zrozumieć szczegółowo, czym jest enkapsulacja, rozważ następującą klasę kont bankowych z metodami depozytu i salda
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
Załóżmy, że hakerowi udało się uzyskać dostęp do kodu twojego konta bankowego. Teraz próbuje wpłacić kwotę -100 na twoje konto na dwa sposoby. Zobaczmy jego pierwszą metodę lub podejście.
Podejście 1: Próbuje wpłacić nieprawidłową kwotę (powiedzmy -100) na Twoje konto bankowe, manipulując kodem.
Teraz pytanie brzmi – Czy to możliwe? Przyjrzyjmy się temu. Zwykle zmienna w klasie jest ustawiona jako „prywatna”, jak pokazano poniżej. Dostęp do niej jest możliwy tylko za pomocą metod zdefiniowanych w klasie. Żadna inna klasa ani obiekt nie może uzyskać do nich dostępu.
Jeśli członek danych jest prywatny, oznacza to, że dostęp do niego jest możliwy tylko w obrębie tej samej klasy. Żadna klasa zewnętrzna nie może uzyskać dostępu do prywatnego członka danych lub zmiennej innej klasy. Tak więc w naszym przypadku haker nie może wpłacić kwoty -100 na Twoje konto.
Podejście 2: Pierwsza próba wpłaty przez hakera zakończyła się niepowodzeniem. Następnie próbuje on wpłacić kwotę -100, używając metody „deposit”.
Ale implementacja metody sprawdza wartości ujemne. Zatem drugie podejście również kończy się niepowodzeniem.
Dzięki temu nigdy nie udostępniasz swoich danych podmiotom zewnętrznym. Dzięki temu Twoja aplikacja będzie bezpieczna.
Cały kod można uznać za kapsułkę, a komunikować się można tylko za pomocą wiadomości. Stąd nazwa enkapsulacja.
Ukrywanie danych w Java
Ukrywanie danych w Java Ukrywa zmienne klasy przed innymi klasami. Dostęp do nich jest możliwy tylko poprzez metodę bieżącej klasy. Ukrywa szczegóły implementacji przed użytkownikami. Ale nie tylko ukrywa dane, ale służy lepszemu zarządzaniu lub grupowaniu.ping powiązanych danych. Aby osiągnąć mniejszy stopień enkapsulacji w Java, możesz używać modyfikatorów takich jak „protected” lub „public”. Dzięki enkapsulacji programiści mogą łatwo zmienić jedną część kodu bez wpływu na inną.
Getter i Setter wchodzą Java
Getter i Setter wchodzą Java to dwie konwencjonalne metody używane do pobierania i aktualizowania wartości zmiennej. Służą głównie do tworzenia, modyfikowania, usuwania i przeglądania wartości zmiennych. Metoda setter służy do aktualizowania wartości, a metoda getter służy do odczytywania lub pobierania wartości. Są one również znane jako akcesor i mutator.
Poniższy kod jest przykładem metod getter i setter:
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
W powyższym przykładzie metoda getBalance() jest metodą pobierającą, która odczytuje wartość zmiennej saldo_konta, a metoda setNumber() jest metodą ustawiającą, która ustawia lub aktualizuje wartość zmiennej numer_konta.
Abstraccja kontra enkapsulacja
Często enkapsulacja jest źle rozumiana Abstraccja. Pouczmy się-
- Hermetyzacja to bardziej kwestia „jak” osiągnąć funkcjonalność
- AbstracW tej kwestii chodzi bardziej o to „co” klasa może zrobić.
Prostym przykładem, który pozwala zrozumieć tę różnicę, jest telefon komórkowy. W tym przypadku złożona logika płytki drukowanej jest zamknięta w ekranie dotykowym, a interfejs jest dostarczany do…tracWytłumacz to.
Zalety enkapsulacji w Java
- Hermetyzacja wiąże dane z powiązanymi funkcjami. Tutaj funkcjonalności oznaczają „metody”, a dane oznaczają „zmienne”
- Dlatego trzymamy zmienne i metody w jednym miejscu. To miejsce to „klasa”. Klasa jest podstawą enkapsulacji.
- Z Java Dzięki enkapsulacji możesz ukryć (ograniczyć dostęp) krytyczne elementy danych w swoim kodzie, co poprawia bezpieczeństwo
- Jak już wcześniej omawialiśmy, jeśli element danych jest zadeklarowany jako „prywatny”, to dostęp do niego jest możliwy tylko w obrębie tej samej klasy. Żadna klasa zewnętrzna nie może uzyskać dostępu do elementu danych (zmiennej) innej klasy.
- Jeśli jednak chcesz uzyskać dostęp do tych zmiennych, musisz użyć publiczny „getter” i „setter” Metody.






