问题描述
最近,我开始深入学习面向对象的原理。我从许多地方读到,我们应该始终对接口进行编程,以使我们的软件独立于底层细节。这在我的脑海中提出了一个问题:是否应允许派生类具有比其基类提供的功能(方法)更多的功能(方法)?当然,它会根据上下文覆盖继承的方法,但是当我们仅对接口进行编程时,如何在我们的主程序(业务逻辑)中使用派生类提供的额外功能(公共方法)?
为了举例说明,我们可以有一个Person
类,并且Student
类是从Person
派生的。但是我们的Student
类可以具有特定的方法,例如writeExam()
,promotetoNextYear()
等。我们如何使用这些方法而不降级Person
或在派生类中使用额外的公共方法违反编程到界面?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)