多态和接口---C#

前言:最近收到的博客评论说我的内容太多,还有就是转化成自己的理解,于是就接受了这个建议。把每个知识点细化来分析。感觉这样学习也非常棒。这篇博客浅析一下多态和接口。

(一)多态

1.是什么

多态就是对象可以表现对各类型的能力。

2.有什么

①子类和父类的关系
这里写图片描述

子类和父类方法名相同解决方案:
一:在子类方法修饰符后面加New
二:在父类的方法修饰符后面加上virtual
在子类中重写父类的方法,加上一个override.
调用父类的方法,但是把父类的方法进行了重写,更换了里面的内容

②多态-抽象类
/抽象方法是用abstract修饰
//抽象方法没有方法体
//抽象方法必须在抽象类中
//抽象类可以有非抽象成员
//抽象类只能最为基类,无法实例化
//父类是抽象类,子类继承了这个类,必须 把抽象类中所有的抽象方法重写

③建立多态的几种方式:父类、抽象类、接口实现多态

④虚方法和抽象方法的对比
这里写图片描述

用Virtual修饰的方法叫做虚方法
虚方法可以在子类中通过Override关键字来重写,常见的虚方法:ToString()Equals
版本控制:需要保留基类方法是用new关键字;需要重写方法时使用override关键字

(二)接口

1.是什么

①接口就是完全抽象的一种约定,是用来实现的。只有方法、属性、索引、事件的声明。
②关键字:Iinterface,名称通常以I开头。

这里写图片描述

2.接口和类的比较

①如果一个类既继承了类又实现了接口,那么这个类必须写在前面。一个类只能继承一个父类,但可以实现多个接口。
例如:class Student:Person, IComparable
②接口:一种规范,一种能力(比如:人会跑步),可以多实现(不能叫继承)(比如:一个人会走路、会跑步),不包含方法的实现,不能直接实例化/
接口可以多实现,类只能单继承
③类定义可以在不同的源文件之间进行拆分
④接口和类都可以包含事件、索引器、方法和属性。

3.抽象、类和接口
这里写图片描述
总结:欢迎大家留言指导,你的建议,就是我成长的动力

猜你喜欢

转载自blog.csdn.net/a954553391/article/details/81292262