[問題] 同一物件不同值

作者: erttyy8821 (俠)   2014-09-30 16:01:41
不太確定標題怎麼下比較好
大概狀況是
今天有三個物件
public class aa
{
ArrayList<bb> bArraylist
.
.
}
public bb
{
ArrayList<cc> cArraylist
String name;
boolean setting;
.
.
}
public cc
{
String name;
boolean setting ;
.
.
}
我會需要new 很多個aa物件
但我希望保持每個new出來的aa物件底下的 bArraylist,cArraylist資料都同步
bb cc 的name也是同步
只保留bb cc 的setting各自有各自的設定
現在的想法是creat一個獨立的main aa
當對這個main aa物件做修改的時候 其他new出來的物件再做同樣的事情
但是變成在初始化的時候,其他new出來的物件必須先clone main aa一次
我想問有其他更好的做法嗎?
又我在做deep clone的時候
發現只有bb會是獨立的記憶體,但是cc又指向同樣的位子了
是不是我連cc 也要implements Cloneable 然後一個一個加到bb 再加回aa呢?
不好意思這問題我覺得有點笨
但我想了幾天了實在想不到比較好的方法
還希望各位先進可以提供一些方向
感謝
作者: adrianshum (Alien)   2014-09-30 16:22:00
static?其實不太搞得清楚你說的同步是什麼意思
作者: swpoker (swpoker)   2014-09-30 17:01:00
prototye~請參考設計樣式中的範本建立工廠
作者: adrianshum (Alien)   2014-09-30 23:59:00
就只有那個 array list 是 static 呀,效果就是你所描述那樣。prototype 並不會做到你想要的效果吧除非我理解錯你的解釋了oh 看漏了 setting 不會改一句

Links booklink

Contact Us: admin [ a t ] ucptt.com