virtual方法和override方法

        virtual方法:

        如果在父类中使用了virtual关键字,而在其派生类中有没有override或new关键字,而直接引用一个同名方法的话,编译器将会报告错误,并将使用new方法,及以忽略派生类中的方法的方式来运行。

         为了是派生类的实例完全代替来自基类的类成员,基类必须将该成员声明为虚拟的。这是通过在该成员的返回类型之前添加virtual关键字来实现的。

使用virtual需注意:

  • virtual修饰符不能与static、abstract、private或override修饰符一起使用。
  • 在静态属性上的使用virtual修饰符是错误的。
  • 通过使用override修饰符的属性声明,可在派生类中重写virtual继承属性。

         override方法:

         override方法是提从基类继承的成员的新实现。通过override声明重写的方法称为重写方法。重写方法必须是virtual、abstract或override的。

         如果在派生类中的方法前使用带有override的关键字,则派生类的对象将调用该方法,而不调用基类中的方法。

使用override需注意:

  • override生命不能更改virtual方法的可访问性。
  • override方法和virtual方法必须具有相同的访问级别修饰符。
  • 不能使用修饰符new、static、virtual或abstract来修饰override方法。
  • 重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且被重写的属性必须是virtual、abstract或override的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值