• 技术文章 >后端开发 >C#.Net教程

    C#中五种访问修饰符作用范围实例详解

    零下一度零下一度2017-06-29 14:36:23原创3475
    在C#语言中,共有五种访问修饰符:public、private、protected、internal、protected internal。作用范围如下表:
    访问修饰符 说明
    public 公有访问。不受任何限制。
    private 私有访问。只限于本类成员访问,子类,实例都不能访问。
    protected 保护访问。只限于本类和子类访问,实例不能访问。
    internal 内部访问。只限于本项目内访问,其他不能访问。
    protected internal 内部保护访问。只限于本项目或是子类访问,其他不能访问
    C#成员类型的可修饰及默认修饰符如下表:
    成员类型 默认修饰符 可被修饰符
    enum public none
    class private public、protected、internal、private、
    protected internal
    interface public none
    struct private public、internal、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 是我们的访问修饰符类,里面有五种访问修饰符方法,可见在 AccessModifierClass 类里面的 AvailableAccessModifier() 方法可以访问所有的方法。
    在 TestAccessModifierClass1 类中的 AvailableAccessModifier() 方法只能访问 public、Internal 和 Protected Internal 方法。

    TestAccessModifierClass2 类继承自 AccessModifierClass 类,所以它的 AvailableAccessModifier() 方法可以访问 public,internal,protected和protected internal 方法。

    以上就是C#中五种访问修饰符作用范围实例详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:总结.NET平台上一些常用的框架 下一篇:WPF下使用Uri的实例教程
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• C语言入门之聊聊基础知识(数据类型、变量、函数、数组等)• c语言中node是什么意思• 聊聊如何利用纯C语言对EXCEL进行读写操作• C语言必背18个经典程序,C语言初学者必会(收藏)• asp.net验证码的简单制作
    1/1

    PHP中文网