Was ist Abstraktion in C++? Mit realem Beispiel und seiner Umsetzung
Veröffentlicht: 2021-05-19Die objektorientierte Programmierung (OOP) ist das beliebteste Paradigma der Programmierung und die Standardmethode für Programmierer zum Codieren. OOP arbeitet auf dem Konzept von Klassen und Objekten . Es strukturiert ein Softwareprogramm in einfache, wiederverwendbare Codeteile, die als Klassen bezeichnet werden, um einzelne Objekte zu erstellen. C++ ist eine objektorientierte Programmiersprache, und Abstraktion in C++ ist eines der wichtigsten C++-Features und das Highlight dieses Artikels.
Die objektorientierte Programmierung soll die Flexibilität des Programms erhöhen. In diesem Artikel erfahren Sie, wie die Datenabstraktion im C++-Programm durchgeführt wird, und erfahren, welche Vorteile dies hat.
Inhaltsverzeichnis
Datenabstraktion in C++
Abstraktion leitet sich von zwei lateinischen Wörtern ab, „abs“, was „weg von“ bedeutet, und „traction“, was „zeichnen“ bedeutet, und bezieht sich auf die Darstellung erforderlicher wesentlicher Merkmale, ohne die gesamten Details einzubeziehen.
C++-Klassen führen eine Abstraktion mit der Liste abstrakter Attribute wie Funktionen durch. Sie legen alle wesentlichen Eigenschaften eines zu erstellenden Objekts fest. Die Attribute werden Datenmember genannt, und die Funktionen, die auf ihnen operieren, werden Memberfunktionen genannt. C++-Klassen, die das Datenabstraktionskonzept verwenden, werden als abstrakte Datentypen bezeichnet.
Quelle
Bei der Verwendung einer Klasse werden Datenmember und Memberfunktionen im Code dargestellt. Die eingebauten Datentypen und die Member in der Klasse werden jedoch ignoriert, wenn ein Objekt verwendet wird, das als Datenabstraktion bezeichnet wird.
Programm zur Demonstration der Abstraktion in C++
#include <iostream.h>
#include <conio.h>
Klasse Summe
{
// Datenabstraktion
privat : int x,y,z;
öffentlich :
ungültig hinzufügen ()
{
clrscr();
cout<< „Geben Sie zwei Zahlen ein: „ ;
cin>>x>>y;
z=x+y;
cout<< „Zahlensumme: „ <<z;
}
};
void main()
{
Summe s;
s.add();
getch();
}
Ausgabe
Geben Sie zwei Zahlen ein:
22
23
Zahlensumme: 45
Beispiele aus der Praxis, die Abstraktion demonstrieren
Die Abstraktion ist ein Merkmal der objektorientierten Programmierung, bei der dem Benutzer nur relevante Details angezeigt und irrelevante Details ausgeblendet werden.
Mit diesen Beispielen können Sie die Abstraktion in C++ verstehen ,
Wenn eine E-Mail gesendet wird, klicken Sie einfach auf Senden und Sie erhalten die gesendete Bestätigung. Abstrahiert werden hier die an den Empfänger übermittelten Daten.
Die wichtigen Merkmale eines Telefons sind die Speicherkarte, die SIM-Karte, die Akkulaufzeit, das Design und der Prozessor. Während Sie das Telefon bedienen, gelangen Sie nicht in die Betriebsdetails des Telefons, wie z. B. die CPU-Speicherzuweisung für die verschiedenen Medien, die für Sie unsichtbar sind. Sie können nur bestimmte Befehle und Tasten auf Ihrem Telefon verwenden, ohne zu wissen, was in Ihrem Telefon passiert.
Ein Mann, der ein Auto fährt, weiß, dass das Drücken des Gaspedals die Geschwindigkeit des Autos erhöht, aber er weiß nicht, wie, was nichts als Abstraktion ist.
Implementierung der Datenabstraktion in C++
C++ ist ein objektorientierter Programmieransatz. Die Datenabstraktion in C++ wird auf zwei Arten implementiert:
- Verwenden von Klassen und Objekten
- Verwendung von Header-Dateien
Quelle
1. Klassen und Objekte verwenden
Wir können wählen, ob wir ein bestimmtes Datenelement oder eine bestimmte Elementfunktion so abstrahieren möchten, dass sie außerhalb der Klasse zugänglich ist, oder ob wir mithilfe von Klassen öffentliche, private oder geschützte Zugriffsspezifizierer verwenden.
2. Verwenden von Header-Dateien
Header-Dateien enthalten eingebaute Bibliotheksfunktionen, die mit dieser Header-Datei verknüpft sind. Für die Header-Datei #include<string.h> können Programmierer auf die Funktionen strcpy() und strlen() und viele mehr zugreifen.
Programm:
Schauen wir uns ein einfaches C++-Programm an, um die Abstraktion mit Klassen, Objekten und Header-Dateien zu verstehen:
#include <iostream>
mit Namensraum std;
Klasse Abstraktion
{
// Privat
int num1, num2;
öffentlich zugänglich:
// Um auf private Mitglieder zuzugreifen
ungültige Eingabe (int n1, int n2)
{
num1 = n1;
num2 = n2;
}
ungültige Summe ()
{
cout<<” Summe ist:” << num1+num2 << endl;
}
};
int Haupt()
{
cout<<“ Datenabstraktion in C++ „<<endl;
Abstraktion a;
a.input(11, 18);
a.summe();
0 zurückgeben;
}
Ausgabe
Datenabstraktion in C++
Summe ist: 29
Vorteile der Abstraktion in C++
Es lässt sich nicht leugnen, dass Abstraktion in C++ ein nützliches Programmierkonzept ist. Lassen Sie uns einige der Vorteile, die es bietet, explizit erörtern:
Es verbessert die Wiederverwendbarkeit von Code und die Klassenpartitionierung, indem es jegliche Redundanz vermeidet.
Es erhöht die Lesbarkeit des Codes, indem es die komplexe Funktionsweise des Codes eliminiert und ihn verständlich macht.
Die Interna der Klasse werden vor versehentlichen Fehlern auf Benutzerebene geschützt
Abstraktion in C++ ist eine Methode zum Schreiben von High-Level-Code.
Es vermeidet Code-Duplizierung und der Programmierer muss nicht jedes Mal gemeinsame Aufgaben für ähnliche Operationen durchgehen
Es kann die interne Klassenimplementierung unabhängig ändern, ohne den Benutzer zu beeinträchtigen.
Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Die Datenabstraktion in C++ ist eine Methode , um Datensicherheit vor nicht autorisierten Methoden bereitzustellen. In diesem Artikel haben wir versucht, eines der wichtigsten C++-Konzepte, das weit verbreitet ist, zusammen mit seiner Implementierung und Beispielen aus dem wirklichen Leben für eine bessere Klarheit zu erklären. Für einen Anfänger mit wenig oder gar keinem Wissen wäre es nicht schwierig, die Konzepte mit etwas Übung im Griff zu haben.
Wenn Sie den Master of Science in Informatik von u pGrad in Betracht ziehen , wird der Lernprozess für Sie reibungsloser verlaufen.
Wir hoffen, dass Sie eine hervorragende Gelegenheit zum Lernen bei der Ausführung dieser C++-Projekte haben werden. Wenn Sie daran interessiert sind, mehr zu erfahren und Mentoring von Branchenexperten benötigen, sehen Sie sich das Executive PG in Full-Stack Software Development von upGrad & IIIT Banglore an.
Was ist Abstraktion in C++?
Abstraktion ist der Vorgang des Verbergens von Details, die für einen bestimmten Zweck relevant sind. Das ist die zentrale Idee der objektorientierten Programmierung. Es ermöglicht Programmierern, Code zu schreiben, der allgemeiner ist als das tatsächlich zu lösende Problem. Dies hilft bei der Verringerung der Größe des Codes und der Vereinfachung des Codes. Durch Abstraktion können Sie den Code auch in Zukunft ändern, ohne den Code an die neuen Anforderungen anpassen zu müssen.
Was sind die wichtigen Säulen der objektorientierten Programmierung?
Abstraktion: Wir können uns Abstraktion als den Prozess vorstellen, bei dem verschiedene Trennebenen zwischen den Details einer komplexen Operation und dem Code verwendet werden, der diese Operation ausführt. Polymorphismus: Dies bedeutet im Grunde, dass dieselbe Operation in verschiedenen Kontexten unterschiedlich dargestellt werden kann. Vererbung: Bei der Vererbung dreht sich alles um die Wiederverwendung von Code. Schnittstellen: Schnittstellen sind Beschreibungen von Klassen auf hoher Ebene. Sie sind im Grunde ein Vertrag, der die Methoden angibt, die eine Klasse haben muss. Komposition: Bei der Komposition geht es darum, Objekte zu kombinieren, um eine komplexere Funktionalität zu erreichen.
Wie erreicht man Abstraktion in C++?
Eine Abstraktion ist eine Umsetzung eines Konzepts. Das ist, was Sie tun, wenn Sie eine Reihe von Klassen und Funktionen verwenden, um eine Idee von dem Code zu trennen, der sie implementiert. In C++ ist eine Abstraktion eine Klasse, ein Template oder eine Funktion. In C++ wird die Abstraktion auf viele Arten erreicht, zum Beispiel bietet C++ mehrere Möglichkeiten, um eine Datenabstraktion zu erreichen, Mittel, um Implementierungsdetails zu verbergen und Client-Code mit High-Level-Schnittstellen arbeiten zu lassen.