zoukankan      html  css  js  c++  java
  • C# 中 重载,重写,隐藏的区别

    重载: 就是写多个同名方法,参数个数不同或类型不同或返回值不同

    重写:子类中实现的方法必须加override关键词   普通非抽象父类需要virtual 抽象类里面抽象方法abstract 接口的实现也是重写(更准确的应该说是实现,但是子类不需要override)
    隐藏:等同于覆盖,A类(父类)可以普通实现,B类继承,new 一个和A中一样的方法。可以说算是重写方法的实现,但是不会修改到A中的方法。
     
    具体区别如下:
    static void Main(string[] args)
            {
                B b = new B();
                b.ClassA();
                A a = b;
                a.ClassA();
    
                Console.WriteLine("
    ");
    
                B2 b2 = new B2();
                b2.ClassA2();
                A2 a2 = b2;
                a2.ClassA2();
    
                Console.ReadKey();
            }
        }
    
        //
        class A
        {
            public void ClassA()
            {
                Console.WriteLine("A.ClassA()");
            }
        }
        class B : A
        {
            new public void ClassA()
            {
                Console.WriteLine("B.ClassA()");
            }
    
        }
    
        //
        class A2
        {
            public virtual void ClassA2()
            {
                Console.WriteLine("A2.ClassA2()");
            }
        }
        class B2 : A2
        {
            public override void ClassA2()
            {
                Console.WriteLine("B2.ClassA2()");
            }
        }
    
    
    }
    

    C++也是类似

    class A
    {
    public:
        virtual void print()
        {
            printf("AAAAAA");
        }
    };
     
    class B :public A
    {
    public:
        void print()
        {
            printf("BBBBB");
        }
    };
     
    int main()
    {
        
        B *b = new B();
        
        b->print();
        A *a = b;
        a->print();
        return 0;
    }
    

      

     
    一个苦逼程序员
  • 相关阅读:
    Python 内置数据结构之 set
    python 在指定的文件夹下生成随机的测验试卷文件
    Python 的 import 语句
    Python 和 R 中的一数多图
    Python 语法练习题
    python 3.x 和 2.x 不同
    R 的 plyr 包
    Python 和 R语言 中的折线图
    设置 Jupyter notebook 默认路径、启动快捷键、打开浏览器
    Python 虚拟环境
  • 原文地址:https://www.cnblogs.com/root_u/p/5151049.html
Copyright © 2011-2022 走看看