当前位置: 首页 > news >正文

网站建设公司发展理念站长工具免费

网站建设公司发展理念,站长工具免费,cdn 动态网站 加速,apcache wordpress在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我…

在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。

在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。

实现

我们将创建一个定义操作(在这里,是客户的名称)的 AbstractCustomer 抽象类,和扩展了 AbstractCustomer 类的实体类。工厂类 CustomerFactory 基于客户传递的名字来返回 RealCustomer 或 NullCustomer 对象。NullPatternDemo 我们的演示类使用 CustomerFactory 来演示空对象模式的用法。

null_pattern_uml_diagram

创建 AbstractCustomer 抽象类。

public abstract class AbstractCustomer {protected String name;public abstract boolean isNil();public abstract String getName();
}

RealCustomer 继承 AbstractCustomer 对其进行扩展:

public class RealCustomer extends AbstractCustomer {public RealCustomer(String name) {this.name = name;    }@Overridepublic String getName() {return name;}@Overridepublic boolean isNil() {return false;}
}

NullCustomer 继承 AbstractCustomer 对其进行扩展:

public class NullCustomer extends AbstractCustomer {@Overridepublic String getName() {return "Not Available in Customer Database";}@Overridepublic boolean isNil() {return true;}
}

创建 CustomerFactory 类:

public class CustomerFactory {public static final String[] names = {"Rob", "Joe", "Julie"};public static AbstractCustomer getCustomer(String name){for (int i = 0; i < names.length; i++) {if (names[i].equalsIgnoreCase(name)){return new RealCustomer(name);}}return new NullCustomer();}
}

使用 CustomerFactory,基于客户传递的名字,来获取 RealCustomer 或 NullCustomer 对象:

public class NullPatternDemo {public static void main(String[] args) {AbstractCustomer customer1 = CustomerFactory.getCustomer("Rob");AbstractCustomer customer2 = CustomerFactory.getCustomer("Bob");AbstractCustomer customer3 = CustomerFactory.getCustomer("Julie");AbstractCustomer customer4 = CustomerFactory.getCustomer("Laura");System.out.println("Customers");System.out.println(customer1.getName());System.out.println(customer2.getName());System.out.println(customer3.getName());System.out.println(customer4.getName());}
}

执行程序,输出结果:

Customers
Rob
Not Available in Customer Database
Julie
Not Available in Customer Database
http://www.mmbaike.com/news/50607.html

相关文章:

  • 素马杭州网站设计介绍营销渠道方案
  • 怎么给一个网站做seo跨界营销案例
  • dreamweaver网站建设教程友情链接交换的意义是什么
  • 广州建筑集团网站如何做平台推广赚钱
  • 强生公司网站建设原则2022百度搜索风云榜
  • 做一手楼房的网站广州搜索排名优化
  • 手机网站建设的公司排名网站建设黄页视频
  • 南宁建站网站模板优化师助理
  • 租车网站开发如何做个网站推广自己产品
  • 政府查询网站建设方案搜索排名怎么做
  • 广州做外贸网站百度app官网
  • 在线用代码做网站网络服务器是指什么
  • 用asp做网站课程抖音营销推广方案
  • 网站建设与实现毕业答辩ppt免费做网站网站
  • 网站开发域名怎么宣传网站
  • java网站开发文档惠州关键词排名优化
  • dedecms 门户网站免费源码网站
  • 温州网站制作策划图片百度搜索
  • wordpress建站侵权搜全网的浏览器
  • 商城网站建设的优点郑州聚商网络科技有限公司
  • 微网站开发费用写一篇软文推广自己的学校
  • 静态网站开发课程网站优化的意义
  • 机械设备如何做网站百度seo快速排名
  • 福州做网站建设公司营销策划的六个步骤
  • 外国做网站的平台网络服务商在哪咨询
  • 凯里网站开发优秀网页设计赏析
  • 浙江建设厅 继续教育 网站首页拉人头最暴利的app
  • 怎么看网站有没有做地图新闻稿代写平台
  • 专业网站制作推广服务提交链接
  • 能制作游戏的软件广州seo网站推广优化