>  기사  >  백엔드 개발  >  C#의 5개 액세스 한정자의 범위 예에 대한 자세한 설명

C#의 5개 액세스 한정자의 범위 예에 대한 자세한 설명

零下一度
零下一度원래의
2017-06-29 14:36:234847검색

C# 언어에는 공개, 비공개, 보호, 내부, 보호 내부의 5가지 액세스 한정자가 있습니다. 범위의 범위는 다음과 같습니다.
액세스 한정자 설명
public 공개 액세스입니다. 어떤 제한도 없이.
비공개 액세스. 액세스는 서브클래스나 인스턴스가 아닌 이 클래스의 멤버로 제한됩니다.
보호된 보호된 액세스. 액세스는 이 클래스와 하위 클래스로 제한되며 인스턴스에는 액세스할 수 없습니다.
내부 내부 접근. 이 프로젝트에 대한 액세스는 제한되어 있으며 다른 사람은 액세스할 수 없습니다.
내부 보호 내부 보호 접근. 액세스는 이 프로젝트 또는 하위 클래스로 제한되며 다른 사람이 액세스할 수 없습니다. C# 멤버 유형의 수정 가능 및 기본 수정자는 다음과 같습니다.
멤버 유형 기본 수정자는
enum public none
class private public, protected, Internal로 수정할 수 있습니다. , private,
protected inside
interface public none
struct private public, inside, private
이제 예시를 바탕으로 public, private, protected, Internal, protected Internal의 범위에 대해 이야기하겠습니다.
다음 코드:

[csharp] view plain copy
 
using System;  
using System.Collections.Generic;  
using System.Text;  
  
namespace AccessModifier  
{  
    public class AccessModifierClass  
    {  
        public string GetPublicString()  
         {  
            return "Public String";  
         }  
  
        protected string GetProtectedString()  
         {  
            return "Protected String";  
         }  
  
         private string GetPrivateString()  
         {  
            return "Private String";  
         }  
  
         internal string GetInternalString()  
         {  
            return "Internal String";  
         }  
  
        protected internal string GetProtectedInternalString()  
         {  
            return "Protected Internal String";  
         }  
  
        void AvailableAccessModifier()  
        {  
         this.GetPublicString();  
         this.GetPrivateString();  
         this.GetInternalString();  
         this.GetProtectedInternalString();  
         this.GetProtectedString();  
        }  
     }  
  
  
    public class TestAccessModifierClass1  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
         }  
     }  
  
     public class TestAccessModifierClass2 : AccessModifierClass  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
             base.GetProtectedString();  
         }  
     }  
 }

AccessModifierClass는 5개의 액세스 수정자 메서드가 있는 액세스 수정자 클래스입니다. AccessModifierClass 클래스의 AvailableAccessModifier() 메서드는 모든 메서드에 액세스할 수 있음을 알 수 있습니다.
TestAccessModifierClass1 클래스의 AvailableAccessModifier() 메서드는 공용, 내부 및 보호된 내부 메서드에만 액세스할 수 있습니다.

TestAccessModifierClass2 클래스는 AccessModifierClass 클래스에서 상속되므로 해당 AvailableAccessModifier() 메서드는 공용, 내부, 보호 및 보호된 내부 메서드에 액세스할 수 있습니다.

위 내용은 C#의 5개 액세스 한정자의 범위 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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