2
我有一個基本問題, 當涉及內存佈局時,繼承與關聯有何不同。當涉及到內存佈局時,它如何繼承不同於關聯
class BaseClass{
private int i;
public void DoSomethinG(){}
}
class DerivedClass : BaseClass{
}
class AssocClass {
private BaseClass bClass = new BaseClass();
}
除了對私人成員的訪問限制,我相信DerivedClass和AssocClass都是相同的。 BaseClass中變量i的內存分配在兩種情況下,DerivedClass和AssocClasss的大小應該相同。
我對我的假設還是缺少一些微不足道的東西?
問候, 哎呀
感謝您澄清布賴恩,你是真實的情況下關聯的情況下可以在不同的一代 – JeeZ 2010-11-18 06:31:38
@Jeez:它可能是在不同的一代,但與你的例子代碼中它不會。如果通過垃圾收集持有AssocClass的實例併爲bClass引用分配一個新對象,那麼'AssocClass'的實例將位於比BaseClass的實例更早的一代。 – 2010-11-18 06:34:57