>  기사  >  백엔드 개발  >  C# 자동 구현 속성

C# 자동 구현 속성

WBOY
WBOY원래의
2024-09-03 15:21:49868검색

클래스의 get 메소드와 set 메소드 내에서 사용될 때 코드가 필요하지 않은 속성을 C#에서는 자동 구현 속성이라고 합니다. 주어진 코드를 더 읽기 쉽고 간결하게 만들고 이러한 속성이 코드에서 사용될 때 컴파일러는 해당 속성에 해당하는 전용 필드를 생성하며 get 메서드와 set 메서드만 사용하여 액세스할 수 있습니다. 인터페이스는 자동 구현 속성에 해당하는 컴파일러에서 생성된 전용 필드를 허용하지 않기 때문에 이러한 자동 구현 속성은 인터페이스에서 선언할 수 없습니다. 이는 C# 버전 3.0 이상 버전에서 사용할 수 있습니다.

구문

C# 자동 구현 속성의 구문은 다음과 같습니다.

Public data_type property_name{ get; set; }

여기서 data_type은 속성의 데이터 유형이고

property_name은 속성의 이름입니다.

C# 자동 구현 속성 작업

  • 코드가 없는 get 메서드와 set 메서드 내에서 일부 속성을 사용해야 하는 경우 C#에서는 이러한 속성을 자동 구현 속성이라고 합니다.
  • C#에서 자동 구현 속성을 사용하면 코드가 더욱 간결해지고 가독성이 높아집니다.
  • 자동 구현 속성이 프로그램에서 사용되는 경우 컴파일러는 이러한 속성에 해당하는 전용 필드를 생성하며, 이 필드는 set 메서드와 get 메서드를 통해서만 액세스할 수 있습니다.
  • 자동 구현 속성은 인터페이스에서 선언할 수 없습니다. 왜냐하면 set 메소드와 get 메소드를 통해서만 접근할 수 있는 이러한 속성에 해당하는 컴파일러에 의해 생성된 private 필드는 인터페이스에서 허용되지 않기 때문입니다.
  • 자동 구현 속성은 C# 3.0 버전과 C# 이후 버전에 도입되었습니다.

C# 자동 구현 속성의 예

아래에는 다양한 예가 나와 있습니다.

예시 #1

특정 변수를 자동 구현 속성으로 만들고 get 및 set 메소드를 통해서만 액세스할 수 있도록 하여 책의 세부 정보를 가져오는 프로그램에서 자동 구현 속성을 보여주는 C# 프로그램입니다.

코드:

using System;
using System.Collections.Generic;
//a namespace called check is defined
namespace Check
{
//a class called books is defined
class Books
{
// three auto implemented properties are defined which can be accessed using set and get method
public int BookID { get; set; }
public string BookName { get; set; }
public string BookAuthor { get; set; }
}
//a class called property is defined
class property
{
//main method is called
public static void Main(string[] args)
{
//an instance of the books class is created
Books books = new Books();
//the auto implemented properties defined before are set with certain values
books.BookID    = 10;
books.BookName  = "To Kill a mocking bird";
books.BookAuthor = "Harper Lee";
// the auto implemented properties defined before are obtained using get method
Console.WriteLine("The BookID of the given book is: {0} ", books.BookID);
Console.WriteLine("The name of the given book is: {0} ", books.BookName);
Console.WriteLine("The Author of the given book is: {0} ", books.BookAuthor);
}
}
}

출력:

C# 자동 구현 속성

위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 books라는 클래스가 정의됩니다. 그런 다음 set 및 get 메소드를 사용하여 액세스할 수 있는 세 가지 자동 구현 속성이 정의됩니다. 그런 다음 속성이라는 클래스가 정의됩니다. 그런 다음 책 클래스의 인스턴스가 생성됩니다. 그런 다음 이전에 정의된 자동 구현 속성이 특정 값으로 설정됩니다. 그런 다음 이전에 정의된 자동 구현 속성을 get 메소드를 사용하여 가져옵니다.

예시 #2

특정 변수를 자동 구현 속성으로 만들고 get 및 set 메소드를 통해서만 액세스할 수 있도록 하여 책의 세부 정보를 가져오는 프로그램에서 자동 구현 속성을 보여주는 C# 프로그램입니다.

코드:

using System;
using System.Collections.Generic;
//a namespace called check is defined
namespace Check
{
//a class called players is defined
class players
{
// three auto implemented properties are defined which can be accessed using set and get method
public int playerposition { get; set; }
public string playerName { get; set; }
public string playerteam { get; set; }
}
//a class called property is defined
class property
{
//main method is called
public static void Main(string[] args)
{
//an instance of the books class is created
players play = new players();
//the auto implemented properties defined before are set with certain values
play.playerposition    = 1;
play.playerName  = "Sachin Tendulkar";
play.playerteam = "India";
// the auto implemented properties defined before are obtained using get method
Console.WriteLine("The position  of the given player is: {0} ", play.playerposition);
Console.WriteLine("The name of the given player is: {0} ", play.playerName);
Console.WriteLine("The team for which the player plays is: {0} ", play.playerteam);
}
}
}

출력:

C# 자동 구현 속성

위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 플레이어라는 클래스가 정의됩니다. 그런 다음 set 및 get 메소드를 사용하여 액세스할 수 있는 세 가지 자동 구현 속성이 정의됩니다. 그런 다음 속성이라는 클래스가 정의됩니다. 그런 다음 플레이어 클래스의 인스턴스가 생성됩니다. 그런 다음 이전에 정의된 자동 구현 속성이 특정 값으로 설정됩니다. 그런 다음 이전에 정의된 자동 구현 속성을 get 메서드를 사용하여 가져옵니다. 최종적으로 위의 스냅샷과 같이 출력됩니다.

장점

C#에서 자동 구현 속성을 사용하면 여러 가지 장점이 있습니다. 그들은:

  • 애플리케이션 프로그래밍 인터페이스는 자동 구현 속성을 활용하여 미래에도 대비할 수 있습니다. 결과적으로 나중에 getter 또는 setter에서 논리를 사용하려는 경우 애플리케이션 프로그래밍 인터페이스가 변경되지 않습니다.
  • 자동 구현된 속성만을 이용하여 데이터 바인딩이 가능합니다. 이는 데이터 바인딩 프레임워크가 속성에 대해서만 작동하고 필드에 대해서는 작동하지 않기 때문입니다.

결론

이 튜토리얼에서는 정의, 구문, 프로그래밍 예제, 출력 및 장점을 통해 C#의 자동 구현 속성 개념을 이해합니다.

위 내용은 C# 자동 구현 속성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.