首页 > 代码库 > 9 abstract 和 Virtual 之间的区别
9 abstract 和 Virtual 之间的区别
(1) abstract方法没有具体的实现,同时必须被覆写
(2) 虚(Virtual)方法可以没有具体的实现,也不一定必须覆写(虚方法定义时,可以没有具体的实现代码,但是必须创建方法体:即必须有方法的左右花括号)。(3) 抽象方法不可以使用base.method()方式调用,但是虚方法是可以的
//定义一个抽象方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVATwentyQuestions { abstract class absClass { public abstract void DisplayValue(string value); } } //在抽象类的子类中覆写抽象方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVATwentyQuestions { class absClassInherited : absClass { override public void DisplayValue(string value) { Console.WriteLine(value); } } } //定义一个虚方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVATwentyQuestions { class virtClass { public virtual void DisplayValue(string value) { Console.WriteLine(value); } } } //在子类中覆写虚方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVATwentyQuestions { class virtClassInherited : virtClass { public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。