閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫(xiě)在題紙的對(duì)應(yīng)欄內(nèi)。 
【說(shuō)明】 
享元(flyweight)模式主要用于減少創(chuàng)建對(duì)象的數(shù)量,以低內(nèi)存占用,提高性能?,F(xiàn)要開(kāi)發(fā)一個(gè)網(wǎng)絡(luò)圍棋程序允許多個(gè)玩家聯(lián)機(jī)下棋。由于只有一臺(tái)服務(wù)器,為節(jié)內(nèi)存空間,采用享元模式實(shí)現(xiàn)該程序,得到如圖6-1所的類(lèi)圖。  
 
【Java代碼】 
import java.util.*: 
enum PieceColor {BLACK,WHITE}//棋子顏色 
class PiecePos{//棋子位置 
private intx; 
private int y: 
pubic PiecePos(int a,int b){x=a;y=b;} 
public int getX0{retun x;} 
public int getYO{return y;} 
} 
abstract class Piece{//棋子定義 
protected PieceColor m_color;//顏色 
protected Piecemopos m_pos;//位置 
public Piece(PieceColor,color PiecePos 
pos){m color=color; 
{:sod=sod u 
(1); 
} 
class BlackPiece extends Piece{ 
public BlackPiece(PieceColor 
color,PiecePos pos){super(color,pos);} 
public void drawO{ 
System out println("draw a black 
piece");} 
} 
class WhitePiece extends Piece{ 
public WhitePiece(PieceColor 
color,PiecePos pos){super(c 
olor,pos):} 
public void draw0{ 
System.out.println("draw a white 
piece"); 
} 
{ 
class PieceBoard{ 
//棋盤(pán)上已有的棋子 
private static final 
ArrayList<(2)>m_arrayPiece=new Arra 
yList 
private String m_blackName;//黑方名稱(chēng) 
private String m_whiteName;//白方名稱(chēng) 
public PieceBoard(String black,String 
white){ 
m_blackName=black;m_whiteName=white; 
} 
//一步棋,在棋盤(pán)上放一顆棋子 
public void SetePiece(PieceColor 
color,PiecePos pos){ 
(3)piece=null; 
if(color==PieceColor.BLACK)(//放黑子 
piece=new BlackPiece(color,pos);//獲取一顆黑子 
System.out.println(m_blackName+"在位置("+pos.getX0) 
+","+pos.getYO+")"); 
(4): 
{ 
else{//放白子 
piece=new WhitePiece(color,pos);//獲取一顆白子 
System.out.println(m whiteName+"在位置("+pos.getX0)+ 
","+pos.getYO+")"); 
(5): 
} 
m_arrayPiece.add(piece); 
} 
}
											
 查看答案
                                        查看答案
                                    	 
  
 
【問(wèn)題1】(3分) 
根據(jù)說(shuō)明中的描述,給出圖3-1中U1~U3所對(duì)應(yīng)的用例名。 
【問(wèn)題2】(4分) 
圖3-1中用例U1~U3分別與哪個(gè)(哪些)用例之間有關(guān)系,是何種關(guān)系? 
【問(wèn)題3】(8分) 
根據(jù)說(shuō)明中的描述,給出圖3-2中C1~C8所對(duì)應(yīng)的類(lèi)名。
	 
  
  
 
【問(wèn)題1】 (8分) 
根據(jù)說(shuō)明扣C代碼,填充C代碼中的空(1)~(4)的。 
【問(wèn)題2】 (4分) 
根據(jù)說(shuō)明和C代碼,算法采用了(5)設(shè)計(jì)策略,時(shí)間復(fù)雜度為(6)(用O符號(hào)表示,兩個(gè)字符串的長(zhǎng)度分別用m和n表示)。 
【問(wèn)題3】 (3分) 
已知兩個(gè)字符串A="CTGA"和B="ACGCTA",根據(jù)說(shuō)明和C代碼,可得出這兩個(gè)字符串的編輯距離為(7)。
 
  
 