How to use virtual, override and new to create versioning in C#

1 Answer

0 votes
using System;   
using System.IO;

namespace ConsoleApplication_C_Sharp
{
    public class BaseClass
    {
        public virtual string GetString1()
        {
            return "BaseClass: public virtual string GetString1()";
        }
        public virtual string GetString2()
        {
            return "BaseClass: public virtual string GetString2()";
        }
        public virtual string GetString3()
        {
            return "BaseClass: public virtual string GetString3()";
        }
    }

    class DerivedClass : BaseClass
    {
        public override string GetString1()
        {
            return "DerivedClass: public override string GetString1()";
        }
        public new string GetString2()
        {
            return "DerivedClass: public new string GetString2()";
        }
        public override string GetString3() 
        {
            return "DerivedClass: public string GetString3()";
        }

        static void Main(string[] args)
        {
            DerivedClass derivedclass = new DerivedClass();
            BaseClass baseclass = (BaseClass)derivedclass;

            Console.WriteLine(baseclass.GetString1());
            Console.WriteLine(baseclass.GetString2());
            Console.WriteLine(baseclass.GetString3());
        }
    }
}


/*
run:
    
DerivedClass: public override string GetString1()
BaseClass: public virtual string GetString2()
DerivedClass: public string GetString3()

*/

 



answered Apr 26, 2017 by avibootz

Related questions

1 answer 160 views
2 answers 85 views
1 answer 135 views
135 views asked Dec 14, 2020 by avibootz
2 answers 230 views
230 views asked Apr 25, 2017 by avibootz
1 answer 188 views
188 views asked Jan 13, 2017 by avibootz
...