抽象类和接口的作用很像,都是定义了一些能力,那为什么要区分呢?
答:为了模拟现实世界。
抽象类需要继承,继承后你就“是”这个对象,这里的能力是你的固有属性,但你可以“学习”其他能力。
比如你是一个人,死亡是你的固有属性,你不需要习得,天生具备,但你也可以“学习”保养的能力让死亡来的晚一些。
这里“死亡”是你作为“人”的固有属性吗?是的。ok,写在抽象类里。这里“保养的能力”是“人”的固有属性吗?不是的。那就不要写在抽象类中,可以增加一个供人学习的清单--interface,就是接口了!
抽象类和接口的作用很像,都是定义了一些能力,那为什么要区分呢?
答:为了模拟现实世界。
抽象类需要继承,继承后你就“是”这个对象,这里的能力是你的固有属性,但你可以“学习”其他能力。
比如你是一个人,死亡是你的固有属性,你不需要习得,天生具备,但你也可以“学习”保养的能力让死亡来的晚一些。
这里“死亡”是你作为“人”的固有属性吗?是的。ok,写在抽象类里。这里“保养的能力”是“人”的固有属性吗?不是的。那就不要写在抽象类中,可以增加一个供人学习的清单--interface,就是接口了!
本文标题:抽象类和接口
本文链接:https://www.haomeiwen.com/subject/lvulahtx.html
网友评论