Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 캡슐화

<시간/>

캡슐화는 데이터와 데이터를 조작하는 방법을 단일 구성 요소로 통합하고 외부 간섭으로부터 데이터를 보호합니다. 본질적으로 캡슐화에는 데이터와 데이터를 사용하는 기능을 묶는 것이 포함됩니다. 데이터 캡슐화는 데이터 은닉의 매우 중요한 개념으로 이어집니다.

C++의 캡슐화는 사용자 정의 데이터 유형인 클래스를 사용하여 구현됩니다. 이러한 클래스에는 데이터 유형과 함께 바인딩된 메서드가 포함됩니다.

클래스를 사용하여 C++에서 캡슐화를 나타내는 프로그램은 다음과 같습니다.

예시

#include <iostream>
using namespace std;
class EncapsulationDemo {
   private:
   int length, breath, height;
   public:
   void setValues(int l, int b,int h) {
      length = l;
      breath = b;
      height = h;
   }
   void calcVolume() {
      cout<<"Length = " << length << endl;
      cout<<"Breath = " << breath << endl;
      cout<<"Height = " << height << endl;
      cout<<"Volume = " << length*breath*height << endl;
   }
};
int main() {
   EncapsulationDemo obj;
   obj.setValues(5, 3, 2);
   obj.calcVolume();
   return 0;
}

출력

Length = 5
Breath = 3
Height = 2
Volume = 30

위의 프로그램에서 변수와 메서드는 Encapsulation 클래스와 같은 단일 단위로 래핑됩니다. 따라서 이 프로그램은 캡슐화의 개념을 보여줍니다.

Encapsulation 클래스의 길이, 너비 및 높이는 개인 변수입니다. 이러한 변수를 초기화하고 길이, 너비 및 높이를 곱하여 부피를 계산하는 공용 함수가 있습니다. 이에 대한 코드 스니펫은 다음과 같습니다.

class Encapsulation {
   private:
   int length, breadth, height;
   public:
   void setValues(int l, int b,int h) {
      length = l;
      breadth = b;
      height = h;
   }
   void calcVolume() {
      cout<<"Length = " << length << endl;
      cout<<"Breadth = " << breadth << endl;
      cout<<"Height = " << height << endl;
      cout<<"Volume = " << length*breadth*height << endl;
   }
};

main() 함수에서 먼저 Encapsulation 유형의 객체가 정의됩니다. 그런 다음 setValues() 함수가 값 5, 3 및 2로 호출됩니다. 마지막으로 이러한 값과 볼륨은 calcVolume() 함수를 사용하여 표시됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.

Encapsulation obj;
obj.setValues(5, 3, 2);
obj.calcVolume();