如何解决派生类中额外的公共方法与编程接口的意义
最近,我开始深入学习面向对象的原理。我从许多地方读到,我们应该始终对接口进行编程,以使我们的软件独立于底层细节。这在我的脑海中提出了一个问题:是否应允许派生类具有比其基类提供的功能(方法)更多的功能(方法)?当然,它会根据上下文覆盖继承的方法,但是当我们仅对接口进行编程时,如何在我们的主程序(业务逻辑)中使用派生类提供的额外功能(公共方法)?
为了举例说明,我们可以有一个Person
类,并且Student
类是从Person
派生的。但是我们的Student
类可以具有特定的方法,例如writeExam()
,promoteToNextYear()
等。我们如何使用这些方法而不降级Person
或在派生类中使用额外的公共方法违反编程到界面?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。