Co to jest abstrakcja w C++? Z prawdziwym przykładem życia i jego wdrożeniem

Opublikowany: 2021-05-19

Programowanie zorientowane obiektowo (OOP) jest najpopularniejszym paradygmatem programowania i jest standardowym sposobem kodowania dla programistów. OOP pracuje nad koncepcją klas i obiektów . Konstruuje program w proste, wielokrotnego użytku fragmenty kodu zwane klasami do tworzenia pojedynczych obiektów. C++ jest językiem programowania obiektowego, a abstrakcja w C++ jest jedną z najważniejszych cech C++ i punktem kulminacyjnym tego artykułu.

Programowanie obiektowe ma na celu zwiększenie elastyczności programu. W tym artykule dowiesz się, w jaki sposób odbywa się abstrakcja danych w programie C++ oraz jakie korzyści z tego płyną.

Spis treści

Abstrakcja danych w C++

Abstrakcja wywodzi się z dwóch łacińskich słów „abs”, co oznacza „z dala od”, a „trakcja” oznaczająca „rysować”, odnosi się do przedstawiania wymaganych podstawowych cech bez uwzględniania wszystkich szczegółów.

Klasy C++ wykonują abstrakcję z listą abstrakcyjnych atrybutów, takich jak funkcje. Umieszczają wszystkie istotne właściwości obiektu, który ma zostać stworzony. Atrybuty nazywane są członkami danych, a funkcje, które na nich operują, nazywane są funkcjami członkowskimi. Klasy C++ korzystające z koncepcji abstrakcji danych są nazywane abstrakcyjnymi typami danych.

Źródło

Podczas korzystania z klasy elementy członkowskie danych i funkcje członkowskie są reprezentowane w kodzie. Jednak wbudowane typy danych i elementy członkowskie w klasie są ignorowane podczas korzystania z obiektu znanego jako abstrakcja danych.

Program do demonstrowania abstrakcji w C++

#include <iostream.h>

#include <conio.h>

suma klas

{

// abstrakcja danych

prywatne : int x,y,z;

publiczny :

nieważne dodaj ()

{

clrscr();

cout<< “Wprowadź dwie liczby: “ ;

cin>>x>>y;

z=x+y;

cout<< „Suma liczb:” <<z;

}

};

nieważne główne ()

{

suma;

s.dodaj();

getch();

}

Wyjście

Wpisz dwie liczby:

22

23

Suma liczb: 45

Przykłady z życia demonstrujących abstrakcję

Abstrakcja jest cechą programowania zorientowanego obiektowo, gdzie tylko istotne szczegóły są pokazywane użytkownikowi, a nieistotne szczegóły są ukryte.

Możesz zrozumieć abstrakcję w C++ dzięki tym przykładom,

Po wysłaniu wiadomości e-mail wystarczy kliknąć wyślij, a otrzymasz wysłane potwierdzenie. Abstrahowane są tutaj dane przekazywane odbiorcy.

Ważnymi cechami telefonu są karta pamięci, karta SIM, żywotność baterii, konstrukcja i procesor. Podczas obsługi telefonu nie masz dostępu do szczegółów operacyjnych telefonu, takich jak alokacja pamięci procesora dla różnych niewidocznych dla Ciebie nośników. Możesz używać tylko niektórych poleceń i przycisków w telefonie, nie wiedząc, co dzieje się w telefonie.

Prowadzący samochód człowiek wie, że wciśnięcie pedałów gazu zwiększy prędkość samochodu, ale nie wie, jak to jest, że jest niczym innym jak abstrakcją.

Implementacja abstrakcji danych w C++

C++ to podejście do programowania obiektowego. Abstrakcja danych w C++ jest implementowana na dwa sposoby:

  1. Korzystanie z klas i obiektów
  2. Korzystanie z plików nagłówkowych

Źródło

1. Używanie klas i obiektów

Możemy wybrać abstrakcję określonego elementu członkowskiego danych lub funkcji członkowskiej, aby była dostępna poza klasą lub nie używać publicznych, prywatnych lub chronionych specyfikatorów dostępu za pomocą klas.

2. Korzystanie z plików nagłówkowych

Pliki nagłówkowe zawierają wbudowane funkcje biblioteczne połączone z tym plikiem nagłówkowym. W przypadku pliku nagłówkowego #include<string.h> programiści mogą uzyskać dostęp do funkcji strcpy() i strlen() i wielu innych.

Program:

Przyjrzyjmy się prostemu programowi w C++, aby zrozumieć abstrakcję za pomocą klas, obiektów i plików nagłówkowych:

#włącz <iostream>

używając standardowej przestrzeni nazw;

Klasa Abstrakcja

{

// Prywatne

int num1, num2;

publiczny:

// Aby uzyskać dostęp do prywatnych członków

void input(int n1, int n2)

{

liczba1 = n1;

liczba2 = n2;

}

nieważna suma ()

{

cout<<” Suma to:” << liczba1+liczba2 << endl;

}

};

int main()

{

cout<<„ Abstrakcja danych w C++ ”<<endl;

Abstrakcja;

a.wejście(11, 18);

suma();

zwróć 0;

}

Wyjście

Abstrakcja danych w C++

Suma to: 29

Korzyści z abstrakcji w C++

Nie można zaprzeczyć, że abstrakcja w C++ jest korzystną koncepcją programistyczną. Omówmy wyraźnie niektóre z korzyści, jakie oferuje:

Zwiększa możliwość ponownego wykorzystania kodu i partycjonowanie klas, unikając nadmiarowości.

Zwiększa czytelność kodu, eliminując złożone działanie kodu, czyniąc go zrozumiałym.

Wewnętrzne elementy klasy są chronione przed przypadkowymi błędami na poziomie użytkownika

Abstrakcja w C++ to praktyka pisania kodu na wysokim poziomie.

Unika powielania kodu, a programista nie musi za każdym razem przechodzić przez wspólne zadania dla podobnych operacji

Może niezależnie zmieniać implementację klasy wewnętrznej bez wpływu na użytkownika.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Abstrakcja danych w C++ to metoda zapewniająca bezpieczeństwo danych przed nieautoryzowanymi metodami. W tym artykule staraliśmy się wyjaśnić jedną z najważniejszych koncepcji C++ używanych powszechnie, wraz z jej implementacją i przykładami z życia wziętymi, aby uzyskać lepszą przejrzystość. Początkującemu z niewielką lub żadną wiedzą nie byłoby trudno zaznajomić się z koncepcjami przy odrobinie praktyki.

Jeśli rozważasz studia magisterskie z informatyki pGrad, proces uczenia się będzie dla Ciebie płynniejszy.

Mamy nadzieję, że będziesz miał doskonałą okazję do nauki podczas wykonywania tych projektów C++. Jeśli chcesz dowiedzieć się więcej i potrzebujesz mentoringu od ekspertów branżowych, sprawdź Executive PG upGrad i IIIT Banglore w zakresie tworzenia oprogramowania z pełnym pakietem.

Czym jest abstrakcja w C++?

Abstrakcja to proces ukrywania szczegółów istotnych dla określonego celu. To jest główna idea programowania obiektowego. Pozwala programistom na pisanie kodu, który jest bardziej ogólny niż rzeczywisty problem, który jest rozwiązywany. Pomaga to w zmniejszeniu rozmiaru kodu i uproszczeniu kodu. Abstrakcja pozwala również na modyfikację kodu w przyszłości, bez konieczności dostosowywania kodu do nowych potrzeb.

Jakie są ważne filary programowania obiektowego?

Abstrakcja: Możemy myśleć o abstrakcji jako procesie używania różnych warstw separacji między szczegółami złożonej operacji a kodem, który wykonuje tę operację. Polimorfizm: Zasadniczo oznacza to, że ta sama operacja może być reprezentowana w różny sposób w różnych kontekstach. Dziedziczenie: Dziedziczenie polega na ponownym wykorzystaniu kodu. Interfejsy: Interfejsy to wysokopoziomowe opisy klas. Są to w zasadzie kontrakt określający metody, które musi posiadać klasa. Kompozycja: Kompozycja polega na łączeniu obiektów w celu uzyskania bardziej złożonej funkcjonalności.

Jak osiągnąć abstrakcję w C++?

Abstrakcja to realizacja koncepcji. To jest to, co robisz, gdy używasz wielu klas i funkcji, aby oddzielić pomysł od kodu, który go implementuje. W C++ abstrakcja jest klasą, szablonem lub funkcją. W C++ abstrakcję osiąga się na wiele sposobów, na przykład C++ zapewnia wiele sposobów uzyskania abstrakcji danych, środki do ukrycia szczegółów implementacji i umożliwienia pracy kodu klienta z interfejsami wysokiego poziomu.