Virtual functions

后端 未结 7 1539
清酒与你
清酒与你 2020-12-11 06:39

I don\'t really understand - when am I supposed to use virtual functions?I\'ll be glad if someone could explain it to me, thanks.

7条回答
  •  盖世英雄少女心
    2020-12-11 07:17

    Given a base class:

    class SomeBaseClass()
    {
        public virtual string GetName()
        {
             return "SomeBaseClass";
        }
    }
    

    When you override it, you inherit the function

    class SomeDerivedClass() : SomeBaseClass
    {
    }
    

    So when you say:

    SomeDerivedClass sdc = new SomeDerivedClass();
    Console.WriteLine(sdc.GetName()); //outputs "SomeBaseClass"
    

    GetName() returns "SomeBaseClass"

    You can, however, override it.

    class SomeDerivedClass()
    {
        public override string GetName()
        {
             return "SomeDerivedClass";
        }
    }
    

    Here GetName() will now return "SomeDerivedClass"

提交回复
热议问题