商店类中有 sell() 方法,顾客类通过该方法购物。以下代码定义了顾客类通过北京网店 BeijingShop 购物:<br>classCustomer {<br>publicvoidshopping(BeijingShop shop) {<br>//购物<br>System.out.println(shop.sell());<br>}<br>}<br>但是,这种设计存在缺点,如果该顾客想从另外一家商店(如上海网店 ShanghaiShop)购物,就要将该顾客的代码修改如下:<br>classCustomer {<br>publicvoidshopping(ShanghaiShop shop) {<br>//购物<br>System.out.println(shop.sell());<br>}<br>}<br>顾客每更换一家商店,都要修改一次代码,这明显违背了开闭原则。存在以上缺点的原因是:顾客类设计时同具体的商店类绑定了,这违背了依赖倒置原则。解决方法是:定义“北京网店”和“上海网店”的共同接口 Shop,顾客类面向该接口编程这样,不管顾客类 Customer 访问什么商店,或者增加新的商店,都不需要修改原有代码了,其类图如图 1 所示。<br>图1 顾客购物程序的类图
●word2007文档的空格加下划线:<br>1、打开word2007左上角的“Office按钮”,并打开“word选项”。<br>2、选择“高级”选项,将最下面“兼容性选项”设置为“所有文档”。<br>3、展开“版式选项”,勾选“为尾部空格添加下划线”复选框,点击确定保存设置。