首页 > 代码库 > abstract 和 virtual的区别
abstract 和 virtual的区别
(以下基于C#)
1.对方法修饰的区别
An abstract function can have no functionality. You‘re basically saying, any child class MUST give their own version of this method, however it‘s too general to even try to implement in the parent class.
A virtual function, is basically saying look, here‘s the functionality that may or may not be good enough for the child class. So if it is good enough, use this method, if not, then override me, and provide your own functionality.
一个abstract方法没有方法体,子类必须实现被abstract修饰的方法
写法:
public abstract void DoWork();
一个virtual方法可以有一个基本的实现,子类可以选择性的重写方法
写法:即使是没有实现也和上面不同,必须用{}来代替
public virtual void DoWork(){}
2.对类的修饰
abstract可以修饰一个class,这样做,和不加abstract修饰的唯一区别是,添加abstract后,可以定义abstract方法
virtual不能用于修饰一个类
abstract 和 virtual的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。