Wykres porównania
Podstawa do porównania | Ukrywanie danych | Kapsułkowanie |
---|---|---|
Podstawowy | Dane ukrywają obawy dotyczące bezpieczeństwa danych oraz ukrywają złożoność. | Enkapsulacja obawia się zawijania danych w celu ukrycia złożoności systemu. |
Skupiać | Ukrywanie danych koncentruje się na ograniczeniu lub zezwoleniu na wykorzystanie danych w kapsule. | Enkapsulacja skupia się na otaczaniu lub zawijaniu złożonych danych. |
Dostęp do specyfikacji | Dane ukryte w danych są zawsze prywatne i niedostępne. | Dane w enkapsulacji mogą być prywatne lub publiczne. |
Proces | Ukrywanie danych to proces, a także technika. | Enkapsulacja to pod-proces ukrywania danych. |
Definicja ukrywania danych
Ukrywanie danych to koncepcja programowania obiektowego, która potwierdza bezpieczeństwo członków klasy przed nieautoryzowanym dostępem. Ukrywanie danych to technika ochrony członków danych przed manipulowaniem lub hakowaniem z dowolnego innego źródła. Dane są najbardziej wrażliwą i niestabilną treścią programu, która w przypadku zmanipulowania może skutkować niepoprawnym wyjściem, a także szkodzić integralności danych. Ukrywanie danych jest kontrolowane w Javie za pomocą modyfikatorów dostępu (prywatny, publiczny i chroniony). Dane, które są publiczne, są dostępne spoza klasy, więc jeśli chcesz ukryć swoje dane lub uniemożliwić dostęp z zewnątrz, zadeklaruj swoje dane jako prywatne . Prywatne dane są dostępne tylko dla obiektów tej klasy.
Rozumiem ukrywanie danych za pomocą przykładu. Załóżmy, że zadeklarowałeś klasę CheckAccount i masz saldo na koncie danych w tej klasie. Tutaj saldo konta to poufne informacje. Możesz zezwolić zewnętrznej aplikacji na sprawdzenie salda wewnątrz konta, ale nie zezwolisz zewnętrznej aplikacji na zmianę atrybutu salda. W ten sposób deklarując atrybut salda w sposób prywatny, ograniczyłbyś dostęp do salda z aplikacji zewnętrznej.
Ukrywanie danych zmniejsza również złożoność systemu. Ukrywanie danych można osiągnąć poprzez enkapsulację, ponieważ enkapsulacja to podproces ukrywania danych.
Definicja enkapsulacji
Enkapsulacja wiąże kod i dane razem w kapsułce, aby ukryć złożoność klasy. Enkapsulacja ma mniej wspólnego ze specyfikatorami dostępu (prywatny, publiczny i chroniony). W elementach enkapsulacji wewnątrz klasy może być prywatny, publiczny lub chroniony . Prywatni członkowie klasy są dostępni tylko dla obiektów tej klasy, a członkowie publiczni są dostępni dla obiektów klasy, a także są dostępni spoza klasy. Enkapsulacja pomaga użytkownikowi końcowemu, aby nauczył się, co zrobić z systemem, zamiast tego, jak musi to robić.
Rozumiemy enkapsulację za pomocą przykładu samochodu. Jeśli kierowca samochodu chce zmienić wyposażenie samochodu, potrzebuje jedynie zmiany położenia biegu zębatego silnika, a tym samym zmiany biegu samochodu. Kierowca nie musi rozumieć złożoności, jaki jest mechanizm zmiany biegu. W ten sposób enkapsulacja zmniejsza złożoność systemu. Enkapsulacja sprawia, że system jest łatwiejszy w obsłudze dla użytkownika końcowego.
Kluczowe różnice między ukrywaniem danych a enkapsulacją
- Enkapsulacja zajmuje się ukrywaniem złożoności programu. Z drugiej strony ukrywanie danych dotyczy bezpieczeństwa danych w programie.
- Enkapsulacja koncentruje się na zawijaniu (enkapsulacji) złożonych danych w celu przedstawienia prostszego widoku dla użytkownika. Z drugiej strony ukrywanie danych koncentruje się na ograniczaniu wykorzystania danych, mając na celu zapewnienie bezpieczeństwa danych.
- Dane enkapsulacji mogą być publiczne lub prywatne, ale w przypadku ukrywania danych dane muszą być tylko prywatne .
- Ukrywanie danych to proces, a także technika, podczas gdy enkapsulacja jest podprocesorem w ukrywaniu danych.
Wniosek:
Kończąc, stwierdzam, że zarówno ukrywanie danych, jak i enkapsulacja są ważne przy wdrażaniu systemu. Obie metody idą w parze, gdy ukrywanie danych koncentruje się na bezpieczeństwie danych, a hermetyzacja koncentruje się na zmniejszeniu złożoności systemu, aby uczynić aplikację bardziej przyjazną dla użytkownika.