zoukankan      html  css  js  c++  java
  • C# 基础 new 、override实现多台区别

    一、new只是隐藏父类中的同名方法。基类和父类中都存在这个方法。

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                BaseClass bcdc = new DerivedClass();
                bcdc.Method2(); //结果:Base - Method2
                Console.Read();
            }
            public class BaseClass
            {
                public void Method2()
                {
                    Console.WriteLine("Base - Method2");
                }
            }
            public class DerivedClass : BaseClass
            {
                public new void Method2() //在子类中隐藏了父类的这个方法,父类总还存在这个方法。
                {
                    Console.WriteLine("Derived - Method2");
                }
            }
        }
    }
    

     二、override.在子类中重写父类的相同方法名。父类只能用 abstract、virtual修饰。

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                BaseClass bcdc = new DerivedClass();
                bcdc.Method2(); //结果: Derived - Method2
                Console.Read();
            }
            public class BaseClass
            {
                public virtual void Method2()
                {
                    Console.WriteLine("Base - Method2");
                }
            }
            public class DerivedClass : BaseClass
            {
                public override void Method2() //重写了父类的方法
                {
                    Console.WriteLine("Derived - Method2");
                }
            }
        }
    }
    

      

  • 相关阅读:
    51nod 1227 平均最小公倍数
    51nod 1238 最小公倍数之和 V3
    「G2016 SCOI2018 Round #2」B
    51nod 1258 序列求和 V4
    2301: [HAOI2011]Problem b
    POJ
    NOIP2017解题报告
    笔记-[ZJOI2014]力
    题解-Little C Loves 3 III
    李超线段树
  • 原文地址:https://www.cnblogs.com/huaan011/p/4609103.html
Copyright © 2011-2022 走看看