再谈C#里4个访问权限修饰符

 

想必大家对这个四个修饰符都已经很了解了,但是我在这里还是要说,是为什么呢?因为每个人对它的理解不一样,我写出来对自己是个温故而知新,

对大家是个分享,希望有什么不对的或需要谈论的地方大家指出来。

C#里类及类成员的修饰符有以下五个如下:
public 公开 类及类成员的修饰符 对访问成员没有级别限制
private 私有 类成员的修饰符 只能在类的内部访问
protected 受保护的 类成员的修饰符 只能在该类和该类的派生类中访问,不管该派生类和基类是否在同一程序集中
internal 内部的 类及类成员的修饰符 访问仅限于程序集中
protected internal 受保护的内部 什么意思呢? 注意看图 如果是继承关系,无论是不是在同一个程序集里都可以访问,如果不是继承关系,只能在同一个程序集中访问

类的访问权限:
   可以放在class类前面的修饰符只有public 和internal,如果没写任何修饰符,默认是internal
我们先说类的访问权限:1:public class:任何地方该类都可以被访问到;2: internal class:只有在同一程序集内(你可以这样理解:如果你建立了一个解决方案,里面有三个项目,那么就有三个程序集,如果你把第一个项目里的一个类设置为internal class,那么第二个项目想调用这个类是不可能的,因为不在同一个程序集中),该类才可以被访问到;

类成员的访问权限:
   类成员的访问权限可以由四个修饰符组成五种组合分别是:public,private ,protected,internal,protected internal;类成员前如果没写任何修饰符,默认为private。


它们的访问权限我在网上找了一张图,我把这张图贴出来,这张图很好的表明了类成员的访问权限。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/menglin2010/archive/2010/12/04/6054483.aspx

 

private、protected、 public和internal的区别 

private、protected、 public和internal的区别  2010-03-24 19:45:02|  分类: 默认分类 |  标签: |字号大中小 订阅 .

private是完全私有的,只有在类自己里面可以调用,在类的外部和子类都不能调用,子类也不能继承父类的 private的属性和方法。

 

protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(protected的属性和方法都可以被子类所继承和调用)。

 

private和protected的共同点:外部都不可以访问。

private和protected的不同点:在同一类中可视为一样,但在继承中就不同了,private在派生类中不可以被访问,而protected可以。

 

public对任何类和成员都完全公开,无限制访问。

internal同一应用程序集内部(在VS.NET中的一个项目中,这里的项目是指单独的项目,而不是整个解决方案)可以访问。

public和internal的区别:public的成员可以跨程序集,但internal不能,同一程序集中具有相同的效果

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值