开发者社区> 问答> 正文

如何修正“正方形不是矩形”“鸵鸟不是鸟”的例子以符合LSP原则?

如何修正“正方形不是矩形”“鸵鸟不是鸟”的例子以符合LSP原则?

展开
收起
冲冲冲c 2024-08-26 16:12:32 21 0
1 条回答
写回答
取消 提交回答
  • 要修正“正方形不是矩形”的例子以符合LSP原则,需要重新设计Rectangle和Square类的接口。例如,可以去除reSize函数中基于宽高相等的假设,或者为Square类设计一个不同的接口,避免直接继承Rectangle的setWidth和setHeight方法,因为它们不适用于正方形。要修正“鸵鸟不是鸟”的例子以符合LSP原则,需要重新设计Bird类的接口。可以为Bird类添加一个是否可以飞行的接口(如bool canFly()),并根据是否能飞行来定义速度属性。这样,可以飞行的鸟类返回飞行速度,而鸵鸟等不能飞行的鸟类则返回行走速度或其他合适的值。

    2024-08-26 20:05:34
    赞同 7 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载