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");
                }
            }
        }
    }
    

      

  • 相关阅读:
    WEB开发中合理选择图片格式
    Ext.ux.form.LovCombo bug修正
    Ext.grid.PropertyGrid 扩展
    BLOG代码高亮
    Box2D教程1创建碰撞世界
    Box2D教程2鼠标交互
    Box2D教程5碰撞检测
    Box2D教程3刚体绑定外观
    管窥HTML5
    Box2D教程4复杂刚体的复杂外观
  • 原文地址:https://www.cnblogs.com/huaan011/p/4609103.html
Copyright © 2011-2022 走看看