C#学习系列-抽象方法与虚拟方法的区别
2014-09-06 11:50
381 查看
原文:C#学习系列-抽象方法与虚拟方法的区别参考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9838&ct=31054
如有错误,欢迎指正。
主要区别:
对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
两者约束不同
下面贴代码
如有错误,欢迎指正。
主要区别:
对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
两者约束不同
下面贴代码
/* 声明一个抽象类 * 1.抽象类中可以包含变量 * 2.抽象方法中无法声明方法体 */ abstract class AbsClass { string name; public abstract void DisplayValue(string value); } /*继承抽象类的子类必须实现抽象方法*/ class AbsClassInherited : AbsClass { /*使用override重写实现*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); } } /* 声明虚拟函数 */ class VirtClass { /*声明一个虚拟函数 虚拟函数必须实现方法体*/ public virtual void DisplayValue(string value) { Console.WriteLine(value); } } /*虚拟方法可以实现也可以不实现*/ class VirtClassInherited : VirtClass { /*使用override重写实现*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); } } /* 声明一个接口 * 1.接口中的方法必须是公用的 * 2.接口中不允许有变量 * 3.接口中的方法不允许有方法体 */ interface IAbs { void DisplayValue(string value); }
相关文章推荐
- C#抽象方法与虚拟方法的区别
- C#中抽象方法与虚拟方法的区别
- C#学习系列-抽象方法与虚拟方法的区别
- 学习C#类和接口、虚方法和抽象方法及值类型和引用类型的区别?
- C#:虚方法与抽象方法之区别
- C#温故而知新学习系列之面向对象编程—13-类和结构的区别是什么?
- c# 抽象方法 接口的区别
- C#温故而知新学习系列之面向对象编程—接口和抽象类的区别是什么?(十八)
- C#中的抽象方法和虚方法的区别
- 虚拟方法及抽象方法在使用上的区别
- C#封装、多态、抽象、接口、匿名方法等学习
- C#温故而知新学习系列之面向对象编程—扩展方法(十)
- C#中虚方法与抽象方法的区别
- 理解C#中接口、继承、抽象、虚拟之间的区别
- C#温故而知新学习系列之面向对象编程—接口和抽象类的区别是什么?(十八)
- c#:抽象方法与虚方法之区别
- 设计模式学习笔记:抽象工厂和工厂方法的区别
- C#温故而知新学习系列之面向对象编程—方法(四)
- C#温故而知新学习系列之面向对象编程—方法的重载(八)
- C#抽象方法和虚方法的区别