【发布时间】:2014-03-19 20:07:28
【问题描述】:
假设我有一个用户类,它具有名字、姓氏、地址等基本属性。从这个用户类中,我有内部员工、顾问和客户的子类型,所有这些都需要额外的属性,因此需要将更多参数传递给构造函数,这将违反 Liskov 替换原则。我该如何解决这个看似基本的问题?
【问题讨论】:
-
据我了解,您不会通过添加属性来更改功能,即使您通过构造函数传递它们也是如此。这是一个例子:Liskov's Substitution Principle(LSP)
-
好吧,我不能互换地实例化不同的类型,那不会违反 LSP 吗?
标签: php oop design-patterns