日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

prototype原型模式

發布時間:2025/5/22 编程问答 137 豆豆
生活随笔 收集整理的這篇文章主要介紹了 prototype原型模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/**
* 原型模式 Prototype
* 用原型實例指定創建對象的種類,并通過拷貝這些原型創建新的對象
*/

需求: public class Resume {
/**
* 要求:一個簡歷類,必須有姓名,可以設置性別和年齡,可以設置工作經歷,最終需要三份簡歷
*/
String name;
int age;
String gender;
String timeArea;
String company;

public Resume(String name) {
this.name = name;
}

public void setPersonInfo(String gender, int age){
this.gender = gender;
this.age = age;
}

public void setWorkExperience(String timeArea, String company){
this.timeArea = timeArea;
this.company = company;
}

public void display(){
System.out.println(name + gender + age);
System.out.println("工作經歷: " + timeArea +" " + company);
}

public static void main1(String[] args){
Resume a = new Resume("大鳥");
a.setPersonInfo("男", 21);
a.setWorkExperience("上海", "xxx公司");

Resume b = new Resume("大鳥");
b.setPersonInfo("男", 21);
b.setWorkExperience("上海", "xxx公司");

Resume c = new Resume("大鳥");
c.setPersonInfo("男", 21);
c.setWorkExperience("上海", "xxx公司");

a.display();
b.display();
c.display();

}

改進:
   public void copySome(String[] args){
Resume a = new Resume("大鳥");
a.setPersonInfo("男", 21);
a.setWorkExperience("上海", "xxx公司");
Resume b = a;
Resume c = a;

a.display();
b.display();
c.display();
}

引出原型模式。

深拷貝與淺拷貝:

區別在于淺拷貝對于引用數據類型只是引用的傳遞,可能導致克隆體和本體共用一個引用變量,造成互相影響。深拷貝需要重寫clone,進行引用對象的值傳遞。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的prototype原型模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。