Wykres porównania
Podstawa do porównania | Abstrakcja | Ukrywanie danych |
---|---|---|
Podstawowy | Wyodrębnia tylko istotne informacje i ignoruje nieistotne szczegóły. | Ukrywa dane z części programu. |
Cel, powód | Aby ukryć złożoność. | Aby osiągnąć hermetyzację. |
Klasa | Klasa używa abstrakcji do wyprowadzenia nowego typu danych zdefiniowanego przez użytkownika. | Ukrywanie danych jest używane w klasie, aby dane były prywatne. |
Koncentruje się na | Obserwowalne zachowanie danych. | Ograniczanie lub zezwalanie na wykorzystanie danych w kapsule. |
Definicja abstrakcji
Abstrakcja służy przede wszystkim do ukrycia złożoności. Wskazuje niezbędne cechy obiektu, które odróżnia go od wszystkich innych typów obiektów. Abstrakcja koncentruje się na zewnętrznym aspekcie obiektu. Dla obiektu abstrakcja zapewnia oddzielenie zasadniczego zachowania od jego implementacji. Określa granice pojęciowe w odniesieniu do perspektywy widza. Odpowiednia abstrakcja kładzie nacisk na szczegóły ważne dla czytelnika lub użytkownika i tłumi funkcje, które są nieistotne i odbiegają od normy.
Zdefiniowane przez użytkownika typy danych są tworzone przez definiowanie abstrakcyjnych atrybutów i funkcji w klasie w celu projektowania obiektów rzeczywistych, mających podobne właściwości. Atrybuty te są znane jako elementy danych, ponieważ zawierają informacje. Podobnie funkcje, które działają na tych danych, są znane jako funkcje członkowskie. Abstrakcja danych jest zaimplementowana jako klasa, która reprezentuje podstawowe właściwości bez uwzględniania objaśnień tła.
Rodzaje abstrakcji:
- Abstrakcja proceduralna - obejmuje serię instrukcji mających określone funkcje.
- Abstrakcja danych - Jest zbiorem danych, które określają i opisują obiekt danych.
- Abstrakcja sterowania - Jest to mechanizm kontroli programu, w którym szczegóły wnętrza nie są określone.
Definicja ukrywania danych
Ukrywanie danych oznacza ukrywanie danych z komponentów programu, które nie wymagają pobierania. Izolacja danych z bezpośredniego dostępu przez program nazywa się ukrywaniem danych lub ukrywaniem informacji. Do implementacji ukrywania danych stosuje się enkapsulację, w której dane i funkcje klasy są chronione przed nieautoryzowanym dostępem. W przeciwieństwie do tego, kiedy dane i funkcje są zamknięte w jednej jednostce, znane jest jako enkapsulacja. W związku z tym ukrywanie danych pomaga w osiągnięciu enkapsulacji. Szczegóły funkcjonalne obiektu mogą być obsługiwane za pomocą specyfikatorów dostępu.
Wykorzystując koncepcje ukrywania danych, dane i funkcje w klasie stają się prywatne, więc nie można uzyskać fałszywego dostępu do funkcji poza klasą i chronić przed przypadkową zmianą.
Kluczowe różnice między abstrakcją a ukrywaniem danych
- Abstrakcja pokazuje istotne informacje i odrzuca inne niż istotne szczegóły. Z drugiej strony ukrywanie danych służy do ukrywania danych przed częściami programu.
- Pierwotnym celem abstrakcji jest ukrywanie złożonych szczegółów implementacji programu lub oprogramowania. Wręcz przeciwnie, ukrywanie danych jest realizowane w celu osiągnięcia enkapsulacji.
- Abstrakcja jest używana w klasie do tworzenia nowego typu danych zdefiniowanego przez użytkownika. W przeciwieństwie do tego w klasach ukrywanie danych jest używane do uczynienia danych prywatnymi.
- Abstrakcja koncentruje się na obserwowalnym zachowaniu danych, podczas gdy ukrywanie danych ogranicza lub pozwala na wykorzystanie danych w kapsule.
Wniosek
Zarówno abstrakcja, jak i ukrywanie danych mają na celu jedynie pokazanie wymaganych informacji i ukrycie szczegółów inessentials, ale w odrębnym celu. Abstrakcja kładzie nacisk na ukrywanie złożoności implementacji, podczas gdy w ukrywaniu danych zwraca się uwagę na ochronę danych przed nieuprawnionym dostępem.