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()

  • 相关阅读:
    字符串转换成整数
    回文字符串判断
    字符串包含
    翻转单词顺序VS左旋转字符串
    穷举子集合
    求S=a+aa+aaa+aaaa+aa...a的值
    数组元素去重
    找最长等差数列的长度
    Git pull and push
    Google 开发console查找元素或方法
  • 原文地址:https://www.cnblogs.com/wuyuankun/p/3736491.html
Copyright © 2011-2022 走看看