您的位置:首页 > 编程语言 > C#

C#之重载、重构、重写

2016-12-20 16:56 525 查看

【重载】

       提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型。

       特点:方法名必须相同,但参数类型或个数必须不同

       优点:在不改变原来方法的基础上,新增功能

       代码:

class Cat
{
private string name = "";
public Cat(string name)
{
this.name = name;
}
public Cat()
{
this.name = "无名";
}
}
以上简短几行代码就实现了方法的重载

【重构】

       调整程序代码,使其更符合面向对象规则,提高软件的扩展性和维护性。前提是不改变程序原有的功能

       特点:对代码的优化

       代码:比如现在我有两个类,一个是Cat,另一个是Dog,他们都有叫方法,如果我每个类都去写实现叫方法,就造成了代码的重复,怎么办那,可以把叫方法抽象出来,放到一个父类Animal中,让子类Cat、Dog去继承

class Animal
{
public virtual void GetShoutSound()
{ }
}
class Cat:Animal
{
public override void GetShoutSound()
{
Console.WriteLine("猫的叫声为:喵");
}
}
class Dog : Animal
{
public override void GetShoutSound()
{
Console.WriteLine("狗的叫声为:");
}
}

【重写】

       多出现在多态里,父类里写一个virtual方法或abstract方法,子类通过override重写去实现父类的方法

       上面重构就体现了重写

【总结】

       在验收时师父问重载、重构、重写的区别,当时就蒙了,但下来一查,原来这就是重载,重构,重写呀,由此总结,对比学习真的很重要,还有一点更为重要,我们在学一知识点后,要能自己口述出来,能讲给别人听,能讲出来,起码概念就得明确,即中心明确,别学完之后不知道自己学的是什么,讲出来才是自己真正吸收的,在以后的学习中要加强这方面的锻炼。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息