大話設計模式九 原型模式(簡歷影印)

2021-09-01 19:37:47 字數 1636 閱讀 2249

淺複製:被複製物件的所有變數都含有與原來的物件相同的值,而所有的其它物件的引用都仍然指向原來的物件。

//工作經歷類

public class workexperience

public void setworkdate(string workdate)

public string getcompany()

public void setcompany(string company) }

//簡歷類

public class resume implements cloneable

public void setpersonalinfo(string ***, string age)

public void setworkexperience(string workdate, string company)

public void display()

public resume clone() throws clonenotsupportedexception }

//客戶端**

public class main

}結果顯示:

大鳥 男 29

工作經歷:1998-2003 zz企業

大鳥 男 29

工作經歷:1998-2003 zz企業

大鳥 男 29

工作經歷:1998-2003 zz企業

深複製:把所有引用物件的變數指向複製過的新物件,而不是原有的被引用物件。

//工作經歷

public class workexperience implements cloneable

public void setworkdate(string workdate)

public string getcompany()

public void setcompany(string company)

public workexperience clone()

catch (clonenotsupportedexception e)

return null; }}

//簡歷類

public class resume implements cloneable

public void setpersonalinfo(string ***, string age)

public void setworkexperience(string workdate, string company)

public void display()

public resume clone() }

//客戶端**保持不變

public class main

}結果顯示為:

大鳥 男 29

工作經歷:1998-2000 xx公司

大鳥 男 29

工作經歷:1998-2006 yy企業

大鳥 男 29

工作經歷:1998-2003 zz企業

一般在初始化的資訊不發生變化的情況下,轉殖是最好的辦法。這既隱藏了物件建立的細節,又對效能是大大的提高。

《大話設計模式》 簡歷影印 原型模式 9

p 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原形模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需要知道任何建立的細節。在.net中,抽象類prototype是用不著的,在system命名空間中提供了icloneable介面,其中就是唯一乙個方法是clone 只要實現...

設計模式之九 原型模式 簡歷複製

原型模式 prototype 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原型模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需要知道任何建立的細節。一般在初始化的資訊不發生變化的情況下,轉殖是最好的辦法。這既隱藏了物件建立的細節,又對效能是大大的提高。淺複製 被複製物件...

大話設計模式 第09章 簡歷影印 原型模式

第09章簡歷影印 原型模式 9.2 簡歷 初步實現 簡歷 class resume 設定個人資訊 public void setpersonalinfo string string age 設定工作經歷 public void setworkexperience string timearea,st...