2009-11-26 170 views
0

如果我在代碼中使用同一對象的多個實例,請爲每個獨立對象的實例方法需要內存,還是所有這些對象都共享相同的實例方法?對象的實例化

它可能會對內存使用產生很大影響。

在此先感謝您的任何見解。

約翰·多納

+1

不存在同一對象的多個實例 - 要麼是多個引用同一個對象,要麼是同一個類的多個對象實例 – Amarghosh 2009-11-26 14:51:51

+0

你是對的。我在那裏用sl thinking的思維。 John Doner – 2009-11-26 15:21:49

回答

2

這可能取決於語言使用的是;-)

在所有的語言實現,我所知道的,方法是共享的。例如,在大多數C++實現中,該方法獲取指向對象特定實例的隱式第一個參數(this)。

1

你沒有指定你在說什麼語言。但是,一般來說,單獨的實例方法不會佔用更多的內存。因爲現代語言設計師已經爲你考慮過這些細節,所以你可能不應該考慮這些細節,而且他們可能選擇了最好的東西。因此,如果沒有真正的理由保留另一個副本(因爲所有方法實際上都是相同的),他們將不保存另一個副本。