Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104578372
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 19:44:04

    来源:赛迪网开发者论坛    作者:AK Sung


八.类

对于面向对象语言来说,类是重头戏,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会在编译的时候自动确定是否内联。

从上面的例子中还能发现一个不同点就算是:在类定义结束的时候没有了分号;

阅读(227) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~