C#之重构与重载

2014-11-24 01:40:32 · 作者: · 浏览: 3

class Animal
{
//将共有代码提到父类
protected override void shout()
{
return getShoutSound();
}

//获得声音的方法
protected virtual string getShoutSound()
{
return "";
}
}


//类猫继承动物
class Cat : Animal
{
Protected override string getShoutSound()
{
return "喵"
}
}
//狗类继承动物
class Dog:Animal
{
Protected override string getShoutSound()
{
return "旺"
}
}


2、重载一般特征:方法名是相同的,但是参数类型或个数必须要有所不同。举个例子:


class Dog
{
private string name;
public Dog()
{
name="黑贝";
}

public Dog(string name)
{
this.name=name;
}
}


就像上面的关于对名字name的初始化就用到重载,如上面的构造函数Dog(),函数名相同,但是参数是不同的,一个有参数,一个没有参数。这就是方法重载。