《设计模式》-原则二:里氏代换原则(LSP)

时间:2023-03-09 15:25:11
《设计模式》-原则二:里氏代换原则(LSP)

  回顾一下上一节说的“开闭原则” 说的是 一个软件要遵循对修改关闭 对新功能扩展的原则。

  这一次来说说 “里氏代换原则

  意思是说:子类型必须能代替他们的基类。

  看了半天的例子 好像 是懂非懂啊。。。相当的纠结。

  有这么几个例子

  例1:讲的是 把 “美女” 当作是基类,以兄妹两, 妹妹可以继承“美女” 因为妹妹可以成为美女,然后哥哥喜欢妹妹  但是不表示哥哥喜欢美女, 因为 哥哥和妹妹之间是兄妹关系。

  我的理解: 这个里面的意思就说明了 子类“妹妹”可以继承基类“美女” 。

  纠结了半天 好像 没明白什么道理。

  就只知道子类必须能代替基类,才算没有违反里氏代换原则。

  意思是不是要抽离出最通用的东西 做为基类呢? 希望在后面能弄清楚这个问题。