面向对象之我见→②
时间:2010-08-27 来源:季末、绝恋→纤尘
类是面向对象的程序设计的基本构成模块,从定义上讲,类是以一种数据结构,这种数据结构可能包含数据成员、函数成员以及其他的嵌套类型。其中数据成员类型有常量、域和事件;函数成员类型有方法、属性、索引指示器、操作符、构造函数和析构函数。
类与对象之间的关系:是蓝图和产品之间的关系,类就是一张蓝图它规定了对象具有的哪些特征,对象就是根据这张蓝图生产出来的商品
类:
类定义了一个模板,通过这个模板可以生成一个或多个对象;
类定义了一个对象的状态和行为; 是C#中的一种结构,用于在程序中模拟现实生活的事物
语法:
[访问修饰符] class <类名>
{
//类的主体
}
实例:
class First
{
//成员变量
//成员方法
}
定义完类之后,可以实例化,实例化就是创建对象的过程,使用new关键字来创建。
类的成员
修饰符:
public(公有成员) 访问不受限制
private(私有成员) 访问仅限于包含类或是从包含类派生出的类型
internal(内部成员)访问仅限于当前程序集
protected 访问仅限于从包含派生的当前程序集或类型
this保留字:仅限于在构造函数、类的方法和类的实例中使用,在不同的位置出现代表着不同的含义:
在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引用;
在类的方法中出现this作为一个值类型,表示对该方法的对象的引用;
在结构的构造函数中出现的this作为一个变量类型,表示对正在构造的结构的引用;
在构造方法中出现的this作为一个变量类型,表示对调用该方法的结果的引用。
静态成员和非静态成员:
如果类中的某个成员的声明是static,该成员成为静态成员。一般来说静态成员属于类所有,非静态成员则属于类的实例--对象。
构造函数和析构函数
构造函数用于执行类的实例的初始化。每个类都有构造函数,即使没有声明它,编译器也会自动的提供一个默认的构造函数。在访问一个类的时候,系统将最先执行构造函数中的语句。实际上,任何构造函数的执行都隐士的调用了系统提供的构造函数base();
使用构造函数的注意事项:
一个类的构造函数通常与类名相同;
构造函数不声明返回类型;
一般构造函数总是public类型的 如果是private类型的,表明类不能被实例化,通常用于只含有静态成员的类;
在构造函数中不要对类的实例化进行初始化以外的事情,也不要尝试显示地调用构造函数
范例:
class A
{
int x=0,y=0,count;
public A()
{
count=0;
}
public A (int xx,int yy)
{
x=xx;
y=yy;
}
在类的实例超出范围时,需要把它所占用的存储单元回收。析构函数用于专门释放占用的系统资源。析构函数的名字与类名相同,只是在前面加了一个符号“~”。析构函数不接受任何参数,也不返回任何值。析构函数不能是继承而来的,也不能显示的调用当某个类的实例呗认为不再有效符合析构的条件,析构函数就可能在某个时刻被执行。