C#基础巩固——成员函数(属性)的abstract、override、virtual关键字

virtual关键字:表示声明当前函数为虚函数。

虚函数在声明时必须显示声明virtual关键字,虚函数必须具有函数主体(与普通函数无差别)。虚函数在派生类中可以重写,也可以不重写。

    public class MyBaseClass

    {

        //定义虚函数

        public virtual string VirtualMethod()

        {

            return "this is virtual method";

        }

    }

 

    public class MyDerivedClass:MyBaseClass

    {

        //重写虚函数(非必须)

        public override string  VirtualMethod()

        {

            return "1";

        }        

    }

 

abstract关键字:表示当前函数为抽象函数。

抽象函数不能直接实现,不能具有函数主体,声明必须写在abstract声明的抽象类中。抽象函数本身也是虚函数,但是不能声明关键字virtual。抽象函数在派生类中必须重写。

    public abstract class MyBaseClass

    {

        //定义抽象函数

        public abstract string AbstractMethod();

    }

 

    public class MyDerivedClass:MyBaseClass

    {

        //重写抽象函数必须

        public override string  AbstractMethod()

        {

            return "1";

        }

}

 

override关键字:表示对基类的函数进行重写。

重写关键字只能写在派生类中,并且仅能重写基类中使用virtual、abstract或override关键字声明的函数,函数名称必须与基类中对应函数的名称完全相同。重写函数在派生类中可以再次重写,也可以不重写。

    public class Baseclass

    {

        public virtual string OverrideMethod()

        {

            return "0";

        }

    }

 

    public abstract class MyBaseClass:Baseclass

    {

        //定义抽象函数

        public abstract string AbstractMethod();

        //定义虚函数

        public virtual string VirtualMethod()

        {

            return "this is virtual method";

        }

        //定义override声明的函数

        public override string OverrideMethod()

        {

            return "this is override method";

        }

    }

 

    public class MyDerivedClass:MyBaseClass

    {

        //重写抽象函数必须

        public override string  AbstractMethod()

        {

            return "重写抽象函数";

        }

        //重写虚函数非必须

        public override string VirtualMethod()

        {

            return "重写虚函数";

        }

        //重写override声明的函数非必须

        public override string OverrideMethod()

        {

            return "重写重写函数";

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值