面向对象语言三大特性之多态
这篇文章不是和刚刚入行的萌新,适用于中级以上的程序员。(这是后话)
相信大家已经学习过C#语言一段时间了,已经知道面向语言有三大特性:封装,继承,多态
今天我们一起来聊聊多态。
如果有人问你什么是多态,相信大家肯定能够说上两句。但是对于核心部分的东西相信很多人还是说不清楚
多态的定义:同一种操作对于不同的对象有着不同的定义,不同的解释,不同的执行结果。即同一个对象调用一个相同的方法得到不同的结果。 Tip:说是相同但还是有分别。
第一个特点:重载
定义:在同一个类中方法名相同,参数列表不一样我们称之为重载。
特点:1.方法名必须相同
2.参数类型不同
3.参数个数不同
4.参数的顺序不能一样
5.返回值可以不相同
从上图中可以看出,重载的几个特点满足。
我们再来看多态的第二个特点:重写
定义 : 子类为了满足自己的需求而进行的相同方法的不同实现方式,进行方法的重写。
特点 :1.重写的方法必须是虚方法,要用override关键字。
2.重写的方法名必须相同。
3.重写的方法参数必须相同
4.重写的方法返回值必须相同