C#基础三
2010-05-11 21:42
204 查看
Reading
C#高级编程(第四版)……………………………………………………………………………………………………………………………………………………………
类:继承单实现,多接口,默认从object派生
结构:继承多接口,默认从object.ValueType派生
类--
抽象类:abstract class SomeClass{}
密封类:sealed class SomeClass{}
接口--
接口只能包含方法、属性、索引器、事件的声明,不允许包含运算符重载
方法--
虚方法:使用virtual关键,必须被显式的override(这点有好处,在C++中没有,经常搞不清楚作者的意图是什么,virtual甚至可以不写,这就更让人迷惑了)
隐藏方法:
public new int myMethod() { (隐藏在C++中是隐式的,对于初学者要记忆规则)
}
抽象方法:(等价于纯虚方法)
public abstract decimal calHeartBeat();
密封方法:(能控制是否被重写)
public sealed decimal calHeartBeat();
修饰符--
内部类可以使用protected关键字 (很好,C++子类想访问父类的内部类很不方便)
增加了internal:对于该程序集才能访问 (有现实意义,很多方法是不希望别人直接通过继承访问,但又能让自己继承使用,C++中只好采用代理模式)
有extern关键字:仅在静态[DllImport]启用,表示成员用另一种语言实现
protected internal:具备这两个字段的特点,是或关系,不是与
C#高级编程(第四版)……………………………………………………………………………………………………………………………………………………………
类:继承单实现,多接口,默认从object派生
结构:继承多接口,默认从object.ValueType派生
类--
抽象类:abstract class SomeClass{}
密封类:sealed class SomeClass{}
接口--
接口只能包含方法、属性、索引器、事件的声明,不允许包含运算符重载
方法--
虚方法:使用virtual关键,必须被显式的override(这点有好处,在C++中没有,经常搞不清楚作者的意图是什么,virtual甚至可以不写,这就更让人迷惑了)
隐藏方法:
public new int myMethod() { (隐藏在C++中是隐式的,对于初学者要记忆规则)
}
抽象方法:(等价于纯虚方法)
public abstract decimal calHeartBeat();
密封方法:(能控制是否被重写)
public sealed decimal calHeartBeat();
修饰符--
内部类可以使用protected关键字 (很好,C++子类想访问父类的内部类很不方便)
增加了internal:对于该程序集才能访问 (有现实意义,很多方法是不希望别人直接通过继承访问,但又能让自己继承使用,C++中只好采用代理模式)
有extern关键字:仅在静态[DllImport]启用,表示成员用另一种语言实现
protected internal:具备这两个字段的特点,是或关系,不是与