C 언어
모든 C++ 프로그램은 다음 두 가지 기본 요소로 구성됩니다. -
프로그램 명령문(코드) − 동작을 수행하는 프로그램의 일부이며 이를 함수라고 합니다.
프로그램 데이터 − 데이터는 프로그램 기능의 영향을 받는 프로그램의 정보입니다.
캡슐화는 데이터와 데이터를 조작하는 기능을 함께 묶고 외부 간섭과 오용으로부터 안전하게 유지하는 객체 지향 프로그래밍 개념입니다. 데이터 캡슐화는 데이터 은닉이라는 중요한 OOP 개념으로 이어졌습니다. .
데이터 캡슐화 데이터와 이를 사용하는 기능 및 데이터 추상화를 묶는 메커니즘입니다. 인터페이스만 노출하고 구현 세부 정보를 사용자에게 숨기는 메커니즘입니다.
C++는 클래스라고 하는 사용자 정의 유형 생성을 통해 캡슐화 및 데이터 숨김의 속성을 지원합니다. . 우리는 이미 클래스에 private, protected 및 공개 회원. 기본적으로 클래스에 정의된 모든 항목은 비공개입니다. 예를 들어 -
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 };
길이, 너비 및 높이 변수는 비공개입니다. . 이것은 Box 클래스의 다른 멤버만 액세스할 수 있으며 프로그램의 다른 부분에서는 액세스할 수 없음을 의미합니다. 이것이 캡슐화를 달성하는 한 가지 방법입니다.
클래스의 일부를 공개로 만들려면 (즉, 프로그램의 다른 부분에 액세스할 수 있음) public 다음에 선언해야 합니다. 예어. public 지정자 뒤에 정의된 모든 변수 또는 함수는 프로그램의 다른 모든 함수에서 액세스할 수 있습니다.
한 클래스를 다른 클래스의 친구로 만들면 구현 세부 정보가 노출되고 캡슐화가 줄어듭니다. 이상적인 것은 각 클래스의 세부 사항을 가능한 한 다른 모든 클래스에서 숨기는 것입니다.
public 및 private 멤버가 있는 클래스를 구현하는 모든 C++ 프로그램은 데이터 캡슐화 및 데이터 추상화의 예입니다. 다음 예를 고려하십시오 -
라이브 데모#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; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Total 60
위의 클래스는 숫자를 더하고 합계를 반환합니다. 공개 회원 addNum 및 getTotal 외부 세계에 대한 인터페이스이며 사용자는 클래스를 사용하기 위해 이를 알아야 합니다. 비공개 회원 총 외부 세계에는 숨겨져 있지만 클래스가 제대로 작동하려면 필요한 것입니다.
우리 대부분은 클래스 멤버를 실제로 노출해야 하는 경우가 아니면 기본적으로 클래스 멤버를 비공개로 만드는 방법을 배웠습니다. 그것은 좋은 캡슐화입니다. .
이는 데이터 구성원에게 가장 자주 적용되지만 가상 기능을 포함한 모든 구성원에게 동일하게 적용됩니다.
C 언어
Python 데이터 클래스는 @dataclass이 있는 일반 Python 클래스입니다. 장식가. 데이터를 보관하기 위해 특별히 만들어졌습니다. Python 버전 3.7부터 Python은 dataclass이라는 내장 모듈을 통해 데이터 클래스를 제공합니다. . 이 기사에서 살펴볼 일반 Python 클래스에 비해 몇 가지 장점이 있습니다. 또한 예제 코드와 데이터 클래스로 수행할 수 있는 몇 가지 일반적인 작업을 살펴보겠습니다. 목차 데이터 클래스 사용의 이점 Python 데이터 클래스 예시 기본값 데이터 클래스를 JSON으로 변환
이 기사에서는 PLCnext Controller에 이미 설치된 SQLite 데이터베이스 엔진을 사용하여 GDS(Global Data Space)를 통해 제공되는 데이터를 저장하는 방법에 대해 설명합니다. 데이터베이스는 프로세스 데이터를 표준화된 방식으로 저장할 수 있도록 하며 SFTP를 사용하여 다른 시스템으로 내보낼 수 있습니다. plcncli 도구 버전이 컨트롤러의 펌웨어 버전과 일치하는지 확인하십시오. Eclipse C++ 프로젝트 생성 다음 속성을 사용하여 PLCnext Info Center의 지침에 따라 Eclipse에