zoukankan      html  css  js  c++  java
  • new作为修饰符

    new 修饰符与 new 操作符是两个概念

    new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员。而new 操作符用于实例化一个类型

    new 修饰符只能用于继承类,一般用于弥补基类设计的不足

    new 修饰符和 override 修饰符不可同时用在一个成员上,因为这两个修饰符在含义上互相排斥

    public abstract class A
    {
        public A()
        {
            Console.WriteLine('A');
        }
        public virtual void Fun()
        {
            Console.WriteLine("A.Fun()");
        }
    }
    
    public class B : A
    {
        public B()
        {
            Console.WriteLine('B');
        }
    
        public new void Fun()
        {
            Console.WriteLine("B.Fun()");
        }
    
        public static void Main()
        {
            A a = new B();
            a.Fun();
            while (true) ;
        }
    }

    输出:A B A.Fun()

    public abstract class A
    {
        public A()
        {
            Console.WriteLine('A');
        }
        public virtual void Fun()
        {
            Console.WriteLine("A.Fun()");
        }
    }
    
    public class B : A
    {
        public B()
        {
            Console.WriteLine('B');
        }
    
        public override void Fun()
        {
            Console.WriteLine("B.Fun()");
        }
    
        public static void Main()
        {
            A a = new B();
            a.Fun();
            while (true) ;
        }
    }

    输出结果:A B B.Fun()

  • 相关阅读:
    JQuery判断checkbox是否选中-批量
    浮动跟随
    当天时间戳范围
    统计兼职人员打标签数量
    submit回车提交影响
    js 数组去除空值
    js循环
    ajax
    滚动条位置
    oc基础-set和get方法的使用
  • 原文地址:https://www.cnblogs.com/wuyuankun/p/3736491.html
Copyright © 2011-2022 走看看