- internal:内部的,只有当前项目中的代码才能访问它。public:可以由其他项目中的代码访问。
- abstract: 抽象的(不能实例化,只能继承,可以有抽象成员)。sealed:密封的,不能继承。
- 指定继承:在类名的后面加上一个冒号,其后是基类名。
public class MyClass :MyBase
{
// Class members.
}
- 不允许派生类的可访问性高于基类。也就是说,内部类可以继承于一个公共基类,但公共类不能继承于一个内部类。
- 所有接口成员都必须在支持该接口的类中实现。但如果不想使用给定的接口成员,就可以提供一个“空”的实现方法(没有函数代码)。还可以把接口成员实现为抽象类中的抽象成员。(先基类,在接口,逗号分隔)
public class MyClass :MyBase ,IMyInterface, IMySecondInterface
{
// Class members.
}
- 定义接口
public interface IMyInterface : IMyBaseInterface, IMyBaseInterface2
{
// Interface members.
}
- 构造函数
class MyClass
{
public MyClass()
{
//
}
public MyClass(int i)
{
//
}
}
- 构造函数初始化器:指定构造函数的执行顺序。http://www.cnblogs.com/David-Huang/archive/2012/07/24/2606356.html
- 类库:p196
- 抽象类主要用做对象系列的基类,共享某些主要特征,例如,共同的目的和结构。接口则主要用于类,这些类在基础水平上有所不同,但仍可以完成某些相同的任务。p199
- 类是引用类型,结构是值类型。p201
- 通过实现 ICloneable 接口,实现深度复制。详见11章。
习题:https://files.cnblogs.com/David-Huang/C09.zip