首页后端开发ASP.NETC#中五种访问修饰符作用范围实例详解

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

时间2024-01-30 09:38:03发布访客分类ASP.NET浏览565
导读:收集整理的这篇文章主要介绍了C#中五种访问修饰符作用范围实例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。在C#语言中,共有五种访问修饰符:public、PRivate、protected、internal、protected in...
收集整理的这篇文章主要介绍了C#中五种访问修饰符作用范围实例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。在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#中五种访问修饰符作用范围实例详解的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

csharpprivateprotected

若转载请注明出处: C#中五种访问修饰符作用范围实例详解
本文地址: https://pptw.com/jishu/592350.html
深入浅析Angular中的指令、管道和服务 如何在附件管理模块中增加对FTP 上传和预览的支持?

游客 回复需填写必要信息