Wprowadzenie do enkapsulacji w C ++

Hermetyzacja oznacza proces pakowania danych i funkcji w jedną kapsułkę. Chroni także dane z innych klas, ograniczając dostęp. Zasadniczo ukrywa dane. Jeśli weźmiemy przykład z college'u w realnym świecie, mamy różne wydziały, takie jak fizyka, chemia i biologia itp. Może pojawić się sytuacja, w której kierownik wydziału fizyki potrzebuje informacji z wydziału biologii, nie może uzyskać bezpośredni dostęp do danych z tego działu. Najpierw powinien skontaktować się z kierownikiem działu biologii, a następnie poprosić go o podanie danych. Tak działa enkapsulacja.

Jak korzystać z enkapsulacji w C ++?

Aby to osiągnąć, musimy wykonać następujące kroki:

  1. Po pierwsze, musimy uczynić wszystkich członków danych prywatnymi.
  2. Następnie należy utworzyć publiczne funkcje pobierające i ustawiające dla każdego elementu danych w taki sposób, aby funkcja get pobierała wartość elementu danych, a funkcja set ustawiała wartość elementu danych.

Hermetyzację i ukrywanie danych można osiągnąć w C ++, używając typów zdefiniowanych przez użytkownika o nazwie Klasy. Specyfikatory dostępu w klasach mogą być prywatne, chronione lub publiczne. Domyślnie wszystkie elementy w klasie są prywatne. W zależności od potrzeby możemy zmienić poziomy dostępu. Trzy poziomy specyfikatorów dostępu są następujące:

  • Prywatne : członkowie tej samej klasy mogą uzyskać dostęp do danych.
  • Publiczny : wszystkie klasy mają dostęp do danych.
  • Chronione : Dostęp do danych jest dozwolony dla członków tej samej klasy lub klas pochodnych.

Najlepsze wykorzystanie enkapsulacji odbywa się tylko wtedy, gdy korzystamy z prywatności lub chronionych. Korzystając z public musimy się upewnić, że wiemy, że jest to potrzebne w kodzie.

Aby to wyjaśnić, przyjrzymy się poniższej klasie.

Tutaj fizyka, chemia i biologia są typu podwójnego i są zmiennymi prywatnymi. GetTotalMarks () to publiczna metoda służąca do pobierania łącznych ocen wszystkich trzech przedmiotów. Nie możemy uzyskać dostępu do każdego przedmiotu w innej klasie ze względu na jego poziom ochrony. Ale możemy uzyskać dostęp do metody i można jej użyć do odzyskania łącznych ocen poprzez przekazywanie indywidualnych ocen przedmiotowych. Możemy ustawić oceny każdego przedmiotu za pomocą metody ustawiającej, którą przejrzymy w następnym przykładzie.

Przykład enkapsulacji w C ++ ze Steps

Poniżej znajduje się instrukcja krok po kroku dotycząca implementacji enkapsulacji.

1) Rozważmy scenariusz, w którym musimy obliczyć łączne oceny ucznia, obliczając sumę z trzech przedmiotów, tj. Fizyki, chemii i biologii. Ale warunek jest taki, że inna klasa

2) Najpierw dołącz iostream dla funkcji wejścia i wyjścia.

3) Użyj przestrzeni nazw std

4) Napisz klasę, która pomieści wszystkie dane i funkcje. Niech to będzie Student.

5) Zadeklaruj prywatne zmienne fizyki, chemii i biologii. To mówi, że nie możemy uzyskać dostępu do zmiennych poza tą klasą Ucznia. Ale możemy uzyskać do nich dostęp lokalnie i w razie potrzeby zmodyfikować wartość. Aby zmodyfikować wartość, możemy napisać funkcję settera publicznego i uzyskać do niej dostęp w innej klasie.

6) Napisz funkcję o nazwie SetMarks, która będzie używana do ustawiania wartości zmiennych prywatnych. Ponieważ nie możemy uzyskać dostępu do prywatnych zmiennych fizyki, chemii i biologii poza klasą ucznia, potrzebujemy tej funkcji, aby ustawić te wartości z klasy zewnętrznej. Ta metoda będzie publiczna, ponieważ musimy uzyskać do niej dostęp poza klasą. Potrzebujemy trzech parametrów, aby uzyskać wartości dla każdego przedmiotu. Wewnątrz funkcji ustawimy wartość zmiennych prywatnych.

7) Potrzebujemy jeszcze jednej metody, aby uzyskać łączne oceny ze wszystkich trzech przedmiotów poprzez dodanie ocen. Ta metoda jest również publiczna. Wystarczy wywołać tę metodę poza klasą, a otrzymamy sumę ocen z trzech przedmiotów.

8) Teraz poza tą klasą napiszemy główną funkcję.

9) Najpierw wewnątrz głównej funkcji uzyskamy dostęp do ucznia klasy i stworzymy obiekt klasy.

10) W następnym kroku wywołamy funkcję, aby ustawić oceny trzech przedmiotów. Tutaj przekażemy znaki jako parametry do funkcji. Poniżej znajduje się fragment kodu, aby to osiągnąć.

11) Następnie otrzymamy oceny ogółem i wydrukujemy wartość. I zwróć 0 na końcu.

12) Czy potrafisz zgadnąć wyjście kodu? Masz rację. Dane wyjściowe pokazano poniżej.

Wyjście: 240

13) Teraz przeanalizujemy, w jaki sposób uzyskaliśmy ten wynik. Ponieważ nie mogliśmy uzyskać dostępu do zmiennych prywatnych, napisaliśmy funkcję Settera, która pobiera wartości z innej klasy i modyfikuje zmienne. Funkcja Gettera pobiera zmienne, dodaje je i wysyła oceny ogółem ucznia. Za każdym razem, gdy przekazujemy trzy różne wartości do funkcji ustawiającej, widzimy, że suma ocen, które otrzymamy, również będzie się odpowiednio zmieniać.

14) Na tej podstawie możemy powiedzieć, że enkapsulacja pomaga nam chronić niektóre potrzebne dane, a także funkcje ustawiające i pobierające służą do zmiany ich wartości. Robiąc to. Osiągnięto także ochronę bez uszczerbku dla naszego celu.

Wniosek

W tym artykule dowiedzieliśmy się, w jaki sposób można osiągnąć enkapsulację w C ++. W ten sposób możemy osiągnąć następujące korzyści.

  • Klasy po enkapsulacji zwiększają czytelność i zmniejszają złożoność.
  • Pomaga w ochronie danych.
  • Prywatność danych w klasie można zmienić bez modyfikowania całego kodu za pomocą modyfikatorów dostępu.

Polecane artykuły

Jest to przewodnik po enkapsulacji w C ++. Tutaj omawiamy sposób używania enkapsulacji w C ++ wraz z przykładem enkapsulacji w C ++ ze Steps. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Algorytm szyfrowania
  2. Szyfrowanie klucza symetrycznego
  3. Co to jest szyfrowanie?
  4. Wprowadzenie do enkapsulacji w C.
  5. Hermetyzacja w JavaScript (zalety)
  6. Dostęp do modyfikatorów w PHP