在了解接口和虚函数的知识前,先整理一下虚函数和接口的定义和作用
接口的作用:
1、接口可以使项目分离,所有层都面向接口开发,提高开发效率;2、接口使代码和代码之间的耦合度降低;3、接口可以多实现,多继承,并且一个类除了接口之外,还可以继承其它类。
虚函数的作用:
用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。
这样笼统的看可能比较难懂,先理解一下就好接下来以我自己的学习来记录一下。
接口的概念: 关键字是interface,按照惯例接口的名字以大写字母”I“开头 接口的定义: 是一组包含了函数方法的数据结构,通过这组数据结构、客户代码可以调用组件对象的功能;且可以继承多个接口。默认为public但不能写上去
接口只声明属性、方法和事件,成员的定义则是派生类的责任,接口提供了派生类应遵循的标准结构。 接口本身并不实现任何功能,它只是和声明实现的该接口的对象订立一个必须实现哪些行为的契约;
这就相当于接口只是统一了口径,具体怎么做在哪做做多少那都是继承接口的派生类自己去定义完成的了。
而接口中的方法在派生类中如何继承和重写呢,这就涉及到虚函数的知识来,刚刚的定义中也说了,多态性是将接口与现实进行分离。虚函数体现的多态性也就自然跟接口也挂钩了
虚函数体现了面向对象的多态性,虚函数的作用是通过同名的虚函数来使得根据不同的类对象,来调相应的函数实现相应的功能,且会优先调用同名的该类对象的虚函数(即当前类名调用的虚函数,则优先调用该类的虚函数,而不会调用基类或者派生类的同名虚函数);
public class classBase
{
public virtual void Func()
{
Console.WriteLine("This is classBase")