Zalecane, 2019

Wybór Redakcji

Różnica między ukrywaniem danych a enkapsulacją

Ukrywanie danych i enkapsulacja są ważną koncepcją programowania obiektowego. Enkapsulacja oznacza zawijanie implementacji elementu danych i metod wewnątrz klasy. Gdy implementacja wszystkich elementów danych i metod w klasie jest hermetyzowana, nazwa metody może jedynie opisywać, jakie działanie może wykonać na obiekcie tej klasy. Ukrywanie danych oznacza ochronę członków klasy przed nielegalnym lub nieautoryzowanym dostępem. Główną różnicą między ukrywaniem danych a enkapsulacją jest to, że ukrywanie danych koncentruje się bardziej na bezpieczeństwie danych, a enkapsulacja koncentruje się bardziej na ukrywaniu złożoności systemu. Istnieją pewne inne różnice między ukrywaniem danych i enkapsulacją, które opisano w poniższej tabeli porównawczej.

Wykres porównania

Podstawa do porównaniaUkrywanie danychKapsułkowanie
PodstawowyDane 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 specyfikacjiDane ukryte w danych są zawsze prywatne i niedostępne.Dane w enkapsulacji mogą być prywatne lub publiczne.
ProcesUkrywanie 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ą

  1. Enkapsulacja zajmuje się ukrywaniem złożoności programu. Z drugiej strony ukrywanie danych dotyczy bezpieczeństwa danych w programie.
  2. 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.
  3. Dane enkapsulacji mogą być publiczne lub prywatne, ale w przypadku ukrywania danych dane muszą być tylko prywatne .
  4. 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.

Top