摘要:
阐述:子类型(subtype)必须能够替换掉它们的基类型(basetype)先提出一个问题:正方形是不是一种特殊的长方形(IS - A关系)?先不要回答这个问题,看下面的分析。理解:LSP原则的一个例子,假如有个people的基类,两个字类man类和woman类,都继承于people类。那么针对people类的任何操作,比如fun吃饭、fun睡觉、fun走路,对于man类和woman类都成立。这个很好理解,不管是man还是woman,归根结底,还都是一个people。(一)正常思维如下例子:class CShape{public:CShape(void);~CShape(void);publi 阅读全文
摘要:
面向对象设计有五大原则,分别是:1、单一职责原则2、开放-封闭原则3、里氏替换原则4、依赖倒置原则5、接口隔离原则这五项原则,说起来很简单,大家都能理解。但是实际设计时,有没有考虑使用,能不能准确使用,不知道有多少人能做到。以下几篇文章,认真分析每项原则,挖掘原则隐藏的道理。 阅读全文