閱讀以下說明和 Java 程序,填補代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
以下 Jave 代碼實現(xiàn)一個簡單客戶關(guān)系管理系統(tǒng)(CrM)中通過工廠(Customerrfactory )對象來創(chuàng)建客戶(Customer)對象的功能??蛻舴譃閯?chuàng)建成功的客戶(realCustomer)和空客戶(NullCustomer)。空客戶對象是當(dāng)不滿足特定條件時創(chuàng)建或獲取的對象。類間關(guān)系如圖 5-1 所示。
【Java 代碼】
Abstract class Customer﹛
Protected String name;
( )boolean isNil( )
( )String getName( );
﹜
Class realCustomer ( )Customer﹛
Public realCustomer(String name )﹛ return false; ﹜
﹜
Class NullCustomer( )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].( ))﹛
return new realCusωmer(name);
﹜
﹜
return ( )
﹜
﹜
Public class CrM﹛
Public viod get Customer( )﹛
Customerfactory( )
Customer customer1-cf.getCustomer(″rob″);
Customer customer2=cf.getCustomer(″rob″);
Customer customer3= cf.getCustomer(″Julie″);
Customer customer4= cf.getCustomer(″Laura″);
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( );
﹜
﹜
/*程序輸出為:
Customer
rob
Not Available in Customer Database
Julie
Not Available in Customer Datable
*/
int main( )﹛
CrM*crs=newCrM( );
Crs->getCustomer( );
Crs->getCustomer( );
Delete crs;
return( );
﹜
/*程序輸出為:
Customer
rob
Not Available ini Customer Database
Julie
Not Available in Customer Database