C#是面向对象的语言,它使用类来进行抽象。在C#里,把类之中的变量统称为“数据成员”;类的函数称为“方法”。它的类基本和C++的是相似的。下面是一个非常简单的类。
class MyClass
{
//字段
public int number;
public int age;
//方法
public string Show()
{
return "number:"+number+";age:"+age;
}
}
只不过在C#里,需要为每一个类成员设置访问属性,而在C++里,可以将相同访问属性的放在一块,共用一个修饰符。
C#的构造函数也是没有返回值,其名称和类名一致。
C#事可以定义析构函数的,但是由于C#有垃圾自动回收机制,因此一般对于开发者而言,一个类是无需定义析构函数的。
C#的函数重载和C++的基本一致。
C#中也有类似于C++的this指针的东西,它也叫this。但是不能说它是指针,同样,this是指向这个类本身的。
在C#里,所有的类都直接或者间接的继承自object这个根类。因此,每一个C#的类都拥有一个共同的基类。
C#值允许单继承,但是C#支持接口。
C#的子类不能继承父类的构造函数以及析构函数。而是可以像C++一样,在子类的构造函数中使用初始化列表的方式去调用父类的构造函数。
C#的static变量,只能通过类名来访问,不能通过实例化对象来访问。
C#里结构体是值类型,而类是引用类型,这点和C++是完全不同的。
C#的函数成员提供的功能包括方法,属性,构造函数和终结器,运算符以及索引。
C#有一种比较特殊的成员,称之为“属性”。它通常包含一对方法(get和set方法)。在类的使用者看来,它是一个字段。这样在大多数情况下能少去书写get和set函数。