閱讀以下說明和 Java程序,填補(bǔ)代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
以下Java代碼實(shí)現(xiàn)一個(gè)簡單客戶關(guān)系管理系統(tǒng)(CRM)中通過工廠(CustomerFactory )對象來創(chuàng)建客戶(Customer)對象的功能??蛻舴譃閯?chuàng)建成功的客戶(RealCustomer)和空客戶 (NullCustomer)??湛蛻魧ο笫钱?dāng)不滿足特定條件時(shí)創(chuàng)建或獲取的對象。類間關(guān)系如圖 5-1 所示。
圖5-1 類圖
【Java代碼】
Abstract class Customer﹛
Protected String name;
( 1 )boolean isNil();
( 2 )String getName();
﹜
Class RealCustomer ( 3 )Customer{
Public RealCustomer(String name){ this.name=name; }
Public String getName(){ return name ; }
Public boolean is Nil() { return false; }
﹜
Class NullCustomer( 4 )Customer﹛
Public String getName()﹛ return "Not Available in Customer Database"; ﹜
Public boolean isNil() ﹛ return true; ﹜
﹜
class Customerfactory {
public String[] names = {"Rob","Joe","Julie"};
public Customer getCustomer(String name) {
for (int i = 0; i < names.length;i++) {
if (names[i].( 5 ))﹛
return new RealCustomer(name);
﹜
﹜
return ( 6 );
﹜
﹜
Public class CrM﹛
Public viod get Customer()﹛
Customerfactory( 7 );
Customer customer1-cf.getCustomer("Rob");
Customer customer2=cf.getCustomer("Bob");
Customer customer3= cf.getCustomer("Julie");
Customer customer4= cf.getCustomer("Laura");
System.out.println("customers”)
System.out.println(customer1.getName());
System.out.println(customer2getName());
System.out.println(customer3.getName());
System.out.println(customer4.getName());
﹜
Public static viod main (String[]arge)﹛
CRM crm =new CRM();
Crm.getCustomer();
﹜
﹜
/*程序輸出為:
Customers
rob
Not Available in Customer Database
Julie
Not Available in Customer Database
*/