【发布时间】:2016-09-13 01:49:20
【问题描述】:
假设我们有 Book 类,其中包含 year_published 公共字段。如果我想实现 NullObject 设计模式,我需要定义 NullBook 类,它的行为与 Book 相同,但不做任何事情。
问题是,NullBook 在分配字段时应该是什么行为?
Book book = find_book(id_value); //this method returns a NullBook instance because it cannot find the book
book.year_published = 2016; //What should we do here?!
【问题讨论】:
-
您应该首先不要直接访问属性(将它们定义为私有)并使用 setter。所以你可以控制你在课堂上分配的价值。
-
但通常这并不总是可能的。
-
另外,您可以假设代码位于类方法之一中。所以它也可以访问私有字段。
标签: oop nullpointerexception null null-object-pattern