• 虚方法 Base 什么意思,怎么用?


    虚方法是什么意思,里面的Base是调用被实现方法的的吗?

    今天突然有个做java的同时突然问了这么一个问题,当时我也无语不知道怎么回答?然后我就查了下资料

    虚方法:

    对于非虚的方法,无论被其所在类的实例调用,还是被这个类的派生类的实例调用,方法的执行方式不变。而对于虚方法,它的执行方式可以被派生类改变,这种改变是通过方法的重载来实现的。

       Base:

    base 关键字用于从派生类中访问基类的成员:

    调用基类上已被其他方法重写的方法。

    • 指定创建派生类实例时应调用的基类构造函数。

    基类访问只能在构造函数、实例方法或实例属性访问器中进行。

    从静态方法中使用 base 关键字是错误的。

    所访问的基类是类声明中指定的基类。 例如,如果指定 class ClassB : ClassA,则无论 ClassA 的基类如何,从 ClassB 上访问 ClassA 的成员。

    namespace TestBase
    {
        public class BaseClass
        {
            int num;


            public BaseClass()
            {
                Console.WriteLine("in BaseClass()");
            }


            public BaseClass(int i)
            {
                num = i;
                Console.WriteLine("in BaseClass(int i)");
            }


            public int GetNum()
            {
                return num;
            }
        }


        public class DerivedClass : BaseClass
        {
            // 调用BseeCalss的 BaseClass()方法
            public DerivedClass()
                : base()
            {
            }


            // 调用BseeCalss的 BaseClass(int i)方法
            public DerivedClass(int i)
                : base(i)
            {
            }


            static void Main()
            {
                DerivedClass md = new DerivedClass();
                DerivedClass md1 = new DerivedClass(1);
                Console.ReadLine();
            }
        }
     
    }

    这个是 简单的实现,下次就可以 让他看我博客了

             


  • 相关阅读:
    10 个迅速提升你 Git 水平的提示
    git-自动补全
    Andriod Atom x86模拟器启动报错
    Android SDK Manager 无法更新SDK
    tiny4412 解决内核编译版本号问题
    Move resources allocated using unmanaged interface to managed devm interface
    原理图学习
    解决tiny4412在win7 64位上adb无法使用失败的问题
    popcount 算法分析
    linux中断申请之request_threaded_irq
  • 原文地址:https://www.cnblogs.com/Traner/p/2819992.html
Copyright © 2020-2023  润新知