浅谈C#抽象方法、虚方法、接口
自己理解:
Interface(接口):是一种规则,要求继承类必需实现所有声明的成员。
Virtual方法(虚方法):可以在继承类里 Override覆盖重新的方方法,有自己的方法体。派生类可使用,可重写。
Abstract(抽象方法):只能在抽象类种修饰,并且没有具体的实现,抽象方法在派生类种 使用Override重写。
上帝(程序员)定义了一种行为:飞(接口)
那么什么可以飞呢?鸟、飞机(抽象类)
具体什么鸟呢?麻雀(实例化)。继承 抽象类 (鸟)、接口(飞)
具体什么飞机呢?空客320(实例化)。继承 抽象类(飞机)、接口(飞)
如果实例化麻雀只继承了抽象类 (鸟),没有继承接口(飞)。那么抱歉,这个麻雀不能飞。
上帝觉得都是一样的麻雀太没意思,加入很多虚方法,那么这个麻雀的子子孙孙,想和父亲一样就样,不想的化就进化(Override),于是世界上多了很多不一样的麻雀…..。