首页 > 代码库 > 【编程基础】——方法重载、重写、重构

【编程基础】——方法重载、重写、重构

方法重载:

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

用方法重载,就能更多的满足更多的情况。比如:

<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)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

软件在开发过程中,肯定会有所变动,很多因素是在计划阶段不能很好发现的,只有在开发过程中,才会发现一些更好地分类方法,这时就应重构,使程序更完善。


重载、重写、重构。放在一起对比一下更容易理解.......这些基础,应该很好的把握.....

【编程基础】——方法重载、重写、重构