重载overload 、重写override

观点:重载和重写完全没有关系要联系到一起,唯一的联系就是他们都带有个‘重’字,所以鄙人也随大流把他们放在了一起

注意:下面可复制的代码是正确的,错误的只会上传图片,不上传可复制的代码

重载

1.在同一个类中

2.方法名相同

3.参数不同

4.返回值可以不同

 

       
public void Test(int a) { Console.WriteLine("测试"); } public int Test(int a,string b) { return 1; } public string Test(int a,string b,string d) { return "11"; }

 

 

 

 

重写

1.不在同一个类中(子类中重新编写父类的实现方式)

2.方法名和参数相同

3.方法体不同

4.被重写的方法必须是虚方法(基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写)

5.返回类型必须相同

    /// <summary>
    /// 父类
    /// </summary>
    public class TestBase
    {
        public virtual string TestMethod()
        {
            //方法体
            string a = "abc";
            return a;
        }
    }

    /// <summary>
    /// 子类
    /// </summary>
    public class Test: TestBase//继承
    {
        
        public override string TestMethod()
        {
            //方法体
            int a = 1;
            string b = a.ToString();
            return b;
        }
    }

 

 

 

posted @ 2022-02-26 17:28  二二姐  阅读(38)  评论(3编辑  收藏  举报