第七章 类型成员及其访问限定
一、类型成员的可能组成:
ü???????? 常数,总是静态不可变的
ü???????? 字段,分为静态和实例字段两种
ü???????? 实例构造器,初始化实例对象
ü???????? 类型构造器,初始化类型的静态字段
ü???????? 方法,分为静态和实例方法两种
ü???????? 重载操作符,并非CLS的一部分,因为并非所有语言均支持之
ü???????? 转换操作符,不是CLS的一部分,部分语言不支持
ü???????? 属性,分静态和实例属性
ü???????? 事件,分为静态和实例事件两种
ü???????? 类型
?
二、访问限定修饰符:[仅列出c#中的]
| C#术语 | 描述 |
| private | 仅可被所定义的类型(或其嵌套类型)访问 |
| protected | 仅可以被所定义的类型(或嵌套类型)或继承的类型访问 |
| Internal | 仅可以被锁定义的程序集访问 |
| protected internal | 仅可以被所定义的类型(或嵌套类型)、派生类型以及同一程序集访问 |
| public | 可被任何程序集的任何类型访问 |
注:1、默认的访问方式为Internal
?????? 2、只能选择上述的一种修饰符,而不可同时指定两个
?
三、类型预定义特性:
| C#术语 | 描述 |
| abstract | 不可被实例化,可用作基类型 |
| sealed | 不能用作基类型 |
注:不可同时使用上述限定符,可通过为sealed修饰的类型提供private构造函数来达到“不可被实例化并不可被继承”的目的
?
四、字段预定义特性:
| C#术语 | 描述 |
| static | 字段为 类型字段 |
| readonly | 仅可在构造器中被赋值 |
注:关于常数和静态只读字段的区别,将在第八章详述
?
五、方法预定义特性
| C#术语 | 描述 |
| static | 类型方法,不能访问实例字段或方法,只能访问类型方法或类型字段 |
| 默认(CLR中称为Instance) | 实例方法,可以访问实例方法或字段,也可以访问类型方法或字段 |
| virtual | 多态的实现,总调用继承链最末端的实现 |
| new | 仅用于虚方法,隐藏基类型的方法实现 |
| override | 仅用于虚方法,显示声明重写基类型方法 |
| abstract | 仅用于虚方法,派生类必须提供和该抽象方法匹配的实现,含有抽象方法的类型为抽象类型 |
| sealed | 仅用于虚方法,派生类不能重写该方法 |
注:sealed和abstract不能同时使用
博客主要介绍了C#类型成员的可能组成,包括常数、字段、构造器、方法等,还阐述了C#中的访问限定修饰符,默认访问方式为Internal且只能选一种修饰符。此外,提及了类型、字段、方法的预定义特性,如sealed和abstract不能同时用于方法。
262

被折叠的 条评论
为什么被折叠?



