【发布时间】:2013-04-09 18:21:46
【问题描述】:
假设如果 Smiths 和 Johns 两个家庭有两个相同品牌和制造商的割草机,我如何在编程中为这种场景建模?
我的意思是,两个草坪搬运工都有单独的序列号,我可以将它们映射到两个不同的对象,这与现实世界的情况很接近。
或者我应该只创建一个对象并在两个家庭之间共享,这与现实世界的场景完全不同。
哪种最佳做法可以减少未来的问题并提供可行性?
提前谢谢....
【问题讨论】:
-
您可以通过创建一个类来执行此操作,该类代表带有所有者字段的草坪搬运工。当您创建此类的实例时,您可以指定所有者,从而正确链接它。初始化后,该类的两个实例将链接到它们各自的所有者。
-
Lawnmover 将是“物理项目”的一个实例,或者任何你想叫它的东西(机器?)。它的蓝图将具有属性;名称、制造商和序列号。这些家庭将由类蓝图“家庭”组成,然后以不同的方式命名(名称=“史密斯”,名称=“约翰”)。家庭蓝图不继承机器实例割草机,这没有意义。您可以给 Family 一个“inventory”数组属性,然后它可以包含割草机的 Machine 实例。
标签: php oop architecture software-design