Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

Datenkapselung in C++

Alle C++-Programme bestehen aus den folgenden zwei grundlegenden Elementen −

Kapselung ist ein objektorientiertes Programmierkonzept, das die Daten und Funktionen, die die Daten manipulieren, zusammenbindet und beides vor Eingriffen und Missbrauch von außen schützt. Die Datenkapselung führte zu dem wichtigen OOP-Konzept des Datenverbergens .

Datenkapselung ist ein Mechanismus zum Bündeln der Daten und der Funktionen, die sie verwenden, und Datenabstraktion ist ein Mechanismus, bei dem nur die Schnittstellen angezeigt und die Implementierungsdetails vor dem Benutzer verborgen werden.

C++ unterstützt die Eigenschaften der Kapselung und des Verbergens von Daten durch die Erstellung benutzerdefinierter Typen, die als Klassen bezeichnet werden . Wir haben bereits untersucht, dass eine Klasse private, protected enthalten kann und öffentlich Mitglieder. Standardmäßig sind alle in einer Klasse definierten Elemente privat. Zum Beispiel −

class Box {
   public:
      double getVolume(void) {
         return length * breadth * height;
      }

   private:
      double length;      // Length of a box
      double breadth;     // Breadth of a box
      double height;      // Height of a box
};

Die Variablen Länge, Breite und Höhe sind privat . Das bedeutet, dass nur andere Mitglieder der Box-Klasse auf sie zugreifen können und kein anderer Teil Ihres Programms. Dies ist eine Möglichkeit, Kapselung zu erreichen.

Um Teile einer Klasse öffentlich zu machen (d.h. zugänglich für andere Teile Ihres Programms), müssen Sie sie nach dem öffentlichen deklarieren Stichwort. Alle nach dem öffentlichen Bezeichner definierten Variablen oder Funktionen sind für alle anderen Funktionen in Ihrem Programm zugänglich.

Wenn Sie eine Klasse zum Freund einer anderen Klasse machen, werden die Implementierungsdetails offengelegt und die Kapselung reduziert. Das Ideal ist, so viele Details jeder Klasse wie möglich vor allen anderen Klassen zu verbergen.

Beispiel für Datenkapselung

Jedes C++-Programm, in dem Sie eine Klasse mit öffentlichen und privaten Membern implementieren, ist ein Beispiel für Datenkapselung und Datenabstraktion. Betrachten Sie das folgende Beispiel −

Live-Demo
#include <iostream>
using namespace std;

class Adder {
   public:
      // constructor
      Adder(int i = 0) {
         total = i;
      }
      
      // interface to outside world
      void addNum(int number) {
         total += number;
      }
      
      // interface to outside world
      int getTotal() {
         return total;
      };
   
   private:
      // hidden data from outside world
      int total;
};

int main() {
   Adder a;
   
   a.addNum(10);
   a.addNum(20);
   a.addNum(30);

   cout << "Total " << a.getTotal() <<endl;
   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −

Total 60

Obige Klasse addiert Zahlen und gibt die Summe zurück. Die öffentlichen Mitglieder addNum und getTotal sind die Schnittstellen zur Außenwelt und ein Benutzer muss sie kennen, um die Klasse zu verwenden. Das private Mitglied gesamt ist etwas, das vor der Außenwelt verborgen ist, aber für den ordnungsgemäßen Betrieb der Klasse benötigt wird.

Strategie entwerfen

Die meisten von uns haben gelernt, Klassenmitglieder standardmäßig privat zu machen, es sei denn, wir müssen sie wirklich offenlegen. Das ist einfach eine gute Kapselung .

Dies wird am häufigsten auf Datenmember angewendet, gilt aber gleichermaßen für alle Member, einschließlich virtueller Funktionen.


C Sprache

  1. C++-Datentypen
  2. C++-Operatoren
  3. C++-Klassen und -Objekte
  4. C++-Klassenvorlagen
  5. Java-Kapselung
  6. C++ Char-Datentyp mit Beispielen
  7. Java - Kapselung
  8. Java - Datenstrukturen
  9. Speicherklassen in C++
  10. C++-Datenstrukturen