第2章 C# 基础

2.2.3.1 声明抽象类

abstract class Horse

{

abstract public void ChaseAfterBadGuys();

}

为基类使用abstract关键字,编辑器会阻止此基类被直接实例化。

2.2.3.2 定义封装类

与抽象类对立,不能作为基类的类。

sealed class Horse

{

}

不允许存在子类,考虑可靠性跟商业目的,性能考虑。

2.2.3.3 与基类通讯

C#允许使用base关键字访问最近的基类成员。

base关键字只在类内部有效--不能在类之外调用它。

2.2.3.4 继承跟所有权比较

继承是用类类模拟实际问题的重要工具,在IS-A 关系建模时继承很有用。如:

奶牛是一种(IS-A)陆地动物。

但在将继承用于为所有权--HAS-A关系建模时应格外小心。如:

篮球队有一个(HAS-A)室内运动场。

房子有一个(HAS-A)地基。

2.2.4 object基类

C#中的所有类型实质上都是从object类派生出来的。

2.2.5 类成员

字段、常数、方法、构造函数、析构函数、属性、运算符、时间、索引器。

2.2.5.1 字段

变量? static readonly

2.2.5.2 常数

常数跟字段类似,但是常数的值仅可在便是时指定,平时不允许更改。

//静态常量(隐式是静态的)
public const int compiletimeConstant = 1;
//动态常量
public static readonly runtimeConstant = 1;
2.2.5.3 方法

C#中的方法声明都是有一个可访问性级别、一个返回类型、一个方法名称、一个参数列表构成的。

public int GetNextRecordId(string TableName)

{

}

方法参数

参数修饰符

关键字ref用来通过引用传递参数,从而使得被调用的方法能够更新参数的值

out、params

重载方法

你可能感兴趣的:(C#)