首页 > 其他 > 详细

C#之重构与重载

时间:2014-01-28 01:47:23      阅读:366      评论:0      收藏:0      [点我收藏+]

1、先说重构,接着上一篇的例子,猫和狗类继承父类动物,但是他们都有叫这个方法,除了叫的声音不一样之外,其余的都是一样的,这样造成了代码的重复,如果要修改这个方法得同时修改这两个子类,非常的麻烦。这时候重构就起了很重要的作用。它将重复的代码提到父类,再加一个获得叫的方法就可以了。具体实现如下:

classAnimal
{
	//将共有代码提到父类
	protected override void shout()
	{
		return  getShoutSound();
	}
 
	//获得声音的方法
	protected virtual string getShoutSound()
	{
		return "";
	}
}
 
//类猫继承动物
class Cat: Animal
{
	protected override string getShoutSound()
	{
		return "喵"
	}
}
//狗类继承动物
classDog:Animal
{
	Protected override string getShoutSound()
	{
		return "旺"
	}
}


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

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

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

C#之重构与重载

原文:http://blog.csdn.net/u010927139/article/details/18817297

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!