移形幻影大法 C++程序员快速学习C#之一
移形幻影大法 C++程序员快速学习C#之二
八.类
对于面向对象语言来说,类是重头戏,C#中类的使用和C++中类似,在细节方面有些差别。
首先来看一个C#的类的例子:
class myclass:mybasicclass //注意基类不需要写限定符
{
private int a;
public int num()
{
return 0;
}
}
public class mybasicclass
{
}
|
这里写出了一个类的限定符public,C#还有的限定符:
internal:只能在当前工程中使用,当class前缺省限制符时就默认为此限制符
public:可以在任何工程中使用
abstract (抽象的):类不能实例化,只能继承,可以有抽象成员
sealed (密封的):不能继承
关键字能够相互组合。
首先需要知道一点,C#中只能有一个基类,它不支持多重继承,同时不允许派生类的可访问性比其基类更高,也就是说:内部类可以继承于公共类,反之不行,在前文也已经说过,object类是C#中最高的类,如果一个类没有基类,它就隐式的继承了object类,在类中都可以使用object提供的方法。
也许你还记得在C++中,类里面定义的方法的具体实现是在类的外部实现的,但在C#中已经不允许,C#规定所有的代码都必须在类中,所以方法的代码就只能和C++中的内联函数的格式一样,但是切记,C#中的这样写法并不意味着是内联的,在C#中已经取消了内联函数的定义,.net会在编译的时候自动确定是否内联。
从上面的例子中还能发现一个不同点就算是:在类定义结束的时候没有了分号;