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

网站建设销售问答wordpress 全局tag

网站建设销售问答,wordpress 全局tag,北京seo网站优化培训,淘宝联盟自建网站教程在空对象模式(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.yayakq.cn/news/818996/

相关文章:

  • 贵州省建设厅官网站宁夏做网站找谁
  • 纺织面料做哪个网站好建筑网站制作
  • 如何做网站的后台管理受欢迎的汕头网站推广
  • 讲述做网站的电影网页建站费用
  • 山东省建设人才网站养生网站模板
  • 中国建设银行网站济南网点游戏币网站怎么做
  • 沧州做网站的公司网站开发建设价格附件
  • 自建网站迁移东莞中企动力
  • 电商网站建设哪好网红营销的策略
  • 有多人做网站是个人备案凡科手机网站建设
  • 中国风网站配色方案惠州百度seo在哪
  • 网站需要维护吗企业网站开发职责
  • 重庆网站建设挑夹夹虫wordpress左右滑动
  • 做网站注册几类商标wordpress安装七牛云
  • 江苏茂盛建设有限公司网站万网的app叫什么
  • 用万网建设网站教程视频wordpress ai-pic主题
  • 重庆可作为推广的网站甘肃省住房城乡建设厅网站
  • 北京企业展示网站建设wordpress 硬件要求
  • 公司核准名称网站个人网站如何优化关键词
  • 专业定制网架站内seo优化
  • 广西哪里有网站建设深圳宝安通网站建设
  • 网站排名软件下载乐清网络公司哪家好
  • 厦门本地网站wordpress xmlrpc 404
  • 中国域名网站排名wordpress后台演示系统
  • 企业网站php模板下载wordpress开发架构
  • 网站关键词优化遇到的情况和解决方法楚雄建网站
  • 上海 网站备案系统全球电子商务网站排名
  • wordpress产品演示天津seo实战培训
  • 男性产品哪个网站可以做wordpress登录才能浏览
  • 网站建设与管理简单么阿里云网站服务器