【问题标题】:What should I do if behavior of subclass doesn't corresponds behavior of superclass?如果子类的行为与超类的行为不对应怎么办?
【发布时间】:2020-11-06 12:24:26
【问题描述】:

所以我最近了解了 OOP 原则。一个问题对我来说很有趣。因此,例如,我有 MobilePhones 类及其子类,如诺基亚、三星、Iphone 等。如果我在超类中定义 takePhoto() 方法,我应该如何处理不支持的子类拍照行为?除了覆盖还有其他方法吗?

【问题讨论】:

    标签: class oop inheritance subclass superclass


    【解决方案1】:

    您可以添加另一个名为 SmartPhone 的类,它扩展了 MobilePhone

    然后将takePicture() 的定义从MobilePhone 移动到SmartPhone

    所有支持takePhoto行为的手机都应该扩展SmartPhone,而其他手机必须扩展MobilePhone

    我希望这个想法对你有所帮助:D

    【讨论】:

    • 太好了!非常感谢,正是我想要的!
    猜你喜欢
    • 2014-09-08
    • 2022-11-18
    • 2020-06-10
    • 1970-01-01
    • 2019-12-07
    • 2013-03-03
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    相关资源
    最近更新 更多