还是总结的太粗糙了,只能算是草稿
关于C#访问修饰符,看别人的总结不是给个表,然后那些情况符合,看的让人困惑,或许他们的总结是因为他们对基础十分熟悉,能够做到从高处往下看。我的总结想想,倒是一种细分,从不同角度划分。下面就从不同角度试着看看,细致划分(其中会掺杂相关在我看来比较重要的补充),更利于学习理解。
一、类成员
可访问性修饰符:
public | 公共,整个项目可访问使用 |
private | 私有,类内部(比如嵌套类 )或者累得实例可使用 |
protected | 受保护的,派生类以及程序集 |
internal | 只在程序集内部可访问 |
protected internal | 前两者的组合 |
继承行为关键字:virtual,可以由继承它的类重写。
二、类
可访问修饰符:
internal | 程序集内部可访问 |
public | 全部可访问 |
编译器不允许派生类的可访问性高于基类。
abstract, sealed,隐藏基类,部分类,部分方法
三、接口
可访问修饰符:
internal | 程序集内部可访问 |
public | 全部可访问 |
接口 的实现,类似类的隐藏基类的方法