方法重载:
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
用方法重载,就能更多的满足更多的情况。比如:
<span style="font-size:18px;"><span style="font-size:18px;"> class Cat { private string name = ""; public Cat(string name) { this.name = name; } //public Cat() //{ // this.name = "无名"; //} public string Shout() { return "我的名字叫" + name + "喵"; } }</span></span>
当未重载Cat没参数的情况,实例化时:Cat a=new Cat(); 就会报错。
方法重写:
首先了解虚方法:为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的,这需要在改成员的返回类型之前添加virtual关键字。
然后子类使用override关键字,将父类的实现,替换为自己的实现。
<span style="font-size:18px;"><span style="font-size:18px;"> class Animal { public virtual string Shout()//有virtual表示此方法为虚方法,可以被子类重写 { return ""; } }</span></span>
<span style="font-size:18px;"><span style="font-size:18px;"> class Dog:Animal { public override string Shout()//方法重写 { string result = ""; for (int i = 0; i < shoutNum; i++) result += "汪"; return"我的名字叫"+name+" "+result ; } }</span></span>
继承是原封不动的,全都照搬,无法体现叫声的多样性。即当针对父类的方法,在子类中需要有些修改的时候,就需要使用方法重写了。
重构:
重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
软件在开发过程中,肯定会有所变动,很多因素是在计划阶段不能很好发现的,只有在开发过程中,才会发现一些更好地分类方法,这时就应重构,使程序更完善。
重载、重写、重构。放在一起对比一下更容易理解.......这些基础,应该很好的把握.....
原文地址:http://blog.csdn.net/onlybymyself/article/details/42487893