C# 访问修饰符


前言

在学习C#过程中,一开始为了方便大概率只会使用Public,但访问修饰符远不止这些,下面是学习笔记的一些总结,如有错误,还望指导。


一、访问修饰符

与Java访问修饰符private,default,protected,public 不同;

C#有public、protected、internal、private、protected internal、private protected (C#7.2以后可用)六种。

一些方法和属性可供类或结构外部的代码(称为“客户端代码”)调用或访问。 另一些方法和属性只能在类或结构本身中使用。 请务必限制代码的可访问性,仅供预期的客户端代码进行访问。

代码如下(示例):

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();
           }
       }
   }

二.总结

C# 方法默认访问级别 : private
C# 类默认访问级别 : internal
在这里插入图片描述
C#成员类型的可修饰及默认修饰符如下表:成员类型	  默认修饰符	    默认修饰符enum	      public	             noneclass	      private	         public、protected、internal、private、protected internalinterface	  public	             nonestruct	      private	         public、internal、private

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值