집 >백엔드 개발 >C#.Net 튜토리얼 >캡슐화 C#
C#의 캡슐화는 캡슐화 기능을 수행하기 위해 내장된 C# 프로그래밍 언어 기능으로 정의됩니다. 캡슐화 기능을 이해하려면 하나 이상의 항목을 단일 단위로 포장하고 해당 항목이 논리적 또는 물리적 유사성을 갖고 있는지 확인하는 것으로 정의됩니다. 이는 항목을 함께 패키징하는 이유가 됩니다. 구현 세부 사항에 대한 액세스를 방지하기 위해 함께 패키지되어 있으며, 이를 통해 데이터 변경이 방지됩니다. 세부사항에 접근할 수 있는 유일한 방법은 클래스의 getter 함수를 통해서이고, 세부사항을 수정하는 유일한 방법은 setter 함수를 통해서입니다. 수집된 데이터의 멤버와 멤버 함수를 하나의 엔터티로 묶어놓은 패키지 엔터티를 클래스라고 합니다.
캡슐화 C# 구문
sprintf를 사용한다는 아이디어는 인쇄 가능한 메시지를 콘솔에 인쇄하는 대신 저장하여 애플리케이션의 필요에 따라 언제든지 참조할 수 있도록 하는 대체 접근 방식이 되면서 인기를 얻기 시작했습니다. sprintf는 “String Print”를 의미하며, 여기서는 C에서 sprintf 함수의 구문 관점을 살펴보고 구문의 매개변수 또는 인수를 이해하겠습니다.
1. C#에서 캡슐화할 변수 선언.
private < data type > < variable name >;
2. C#으로 캡슐화된 변수의 Getter 함수입니다.
get { return < variable name >; }
3. C#으로 캡슐화된 변수의 Setter 함수입니다.
set { return < variable name >; }
4. C#으로 캡슐화할 클래스 선언.
public class < class name >{ // Declare the elements of the public class. }
다음은 캡슐화 C#의 예입니다.
접근자 및 변경자를 사용하여 클래스의 비공개 변수에 액세스하려고 합니다(이 코드에서는 오류가 발생합니다).
코드:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.name = "AmKy"; e.dept = "EduCBA"; e.Display(); Console.ReadLine(); } } }
출력:
적절한 접근자와 변형자 장르를 사용하여 클래스 요소에 액세스하고 수정합니다.
코드:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.SetName("AmKy"); e.SetDepartname("EduCBA"); e.Display(); Console.ReadLine(); } } }
출력:
속성을 이용한 캡슐화
코드:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string DeptProp { get { return dept; } set { dept = value; } } public string EmpName { get { return name; } set { name = value; } } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.EmpName = "Employee 2"; e.DeptProp = "Finance"; e.Display(); Console.ReadLine(); } } }
출력:
이 기사에서는 C#에서 캡슐화가 수행되는 방식과 다른 클래스의 비공개 개체에 액세스하는 경우(부모 클래스의 인스턴스를 통해서라도) 어떻게 오류가 발생할 수 있는지 이해하는 예제를 살펴보았습니다. 코드를 실행할 수 없게 만듭니다.
위 내용은 캡슐화 C#의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!