摘要基类和数据成员?它是如何工作的?

时间:2009-10-22 13:14:53

标签: compiler-construction abstract-class

抽象基类(ABC)可以拥有数据来支持从其继承的类。 但是,鉴于它不可能实例化ABC的对象,如果我们有许多派生类对象,编译器如何处理这些数据 继承了ABC。数据是否与派生类对象相关联?

2 个答案:

答案 0 :(得分:0)

编译器只能接受已使用派生的实体类实例化的继承类型。这是因为

public void RunInstantiate()
{
   IAbstract abc;
   abc = new Implement();   
}

abc将始终指向真实对象(类型为Implement)。

答案 1 :(得分:0)

如果您正在谈论静态数据,那么该数据将保持与基类相关联。无论从中派生出多少不同的类,在内存中仍然只有一个数据实例。

非静态数据将与该类的每个实例相关联。如果您创建该类的5个实例,那么内存中将有5个该数据实例,每个实例只能通过其关联实例访问。