第七章 类型成员及其访问限定[《.NET框架程序设计》读书笔记]

** 第七章 ** ** 类型成员及其访问限定 **

** 一、类型成员的可能组成: **

ü ???????? 常数,总是静态不可变的

ü ???????? 字段,分为静态和实例字段两种

ü ???????? 实例构造器,初始化实例对象

ü ???????? 类型构造器,初始化类型的静态字段

ü ???????? 方法,分为静态和实例方法两种

ü ???????? 重载操作符,并非 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 不能同时使用

Published At
Categories with Web编程
Tagged with
comments powered by Disqus