Posted on 2008-04-10 20:45
火山博客 阅读(60)
评论(1) 编辑 收藏 引用 网摘 所属分类:
高职IT教育
(1)方法重载:方法名字相同,返回类型相同,只有参数不同,就叫方法重载。
|
class Student
{
public void play(){...}
public void play(string adress){...}
public void play(DateTime dt){...}
}
|
调用时,系统自动根据参数匹配来选择其中一个执行
(2)构造函数重载:即一个类中有多个构造函数,名字都与类名相同,只有参数不同。在new生成实例时自动匹配一个执行。
(3)操作符重载:将已有的操作运算符,重新赋以新的含义,就是操作符重载,语法:public static 类型 operator 运算符(参数){...}
例,求两个矩形的面积。
|
class rectangle
{
private int width;
private int hight;
public rectangle( ) //没有参数构造函数,用默认值初始化
{
this.width = 10;
this.hight = 10;
}
public rectangle(int width,int hight) //有参数构造函数,初始化变量
{
this.width = width;
this.hight = hight;
}
public static double operator +(rectangle a,rectangle b)
{
return a.width*a.hight+b.width*b.hight;
}
}
|
在主函数中可以有如下语句:
rectangle a = new rectangle( );
rectangle b = new rectangle(60,20);
Console.WriteLine(a+b);
a和b是两个矩形对象,常规来讲是不能进行加法运算的,但通过操作符重载后,赋予两个矩形“+”运算符新的函义,即将两个矩形面积相加。