Abstract vs Normal类继承性能

Joa*_*nge 4 .net c# performance inheritance class

当你从类和实例派生子类时,运行时也会实例化超类,对吧?

由于抽象类无法实例化,因此当实例化子类时,它们不是由运行时创建的吗?

如果是这样,那么抽象类继承会比普通类实例更快吗?

Jon*_*eet 12

运行时永远不会创建基类和派生类的单独实例 - 它只是派生类实例也具有基类的所有变量等,并在初始化时运行基类构造函数."普通"基类和抽象基类之间没有区别.


ang*_*son 8

我觉得你有一些困惑的细节.

构造一个对象时,该对象的类继承自另一个类,它不像你在内存中得到两个对象.

你只得到一个,但它有两个来自两个领域的空间.

换句话说,如果原始类需要10个字节来保存其字段,并且您继承的类需要5个字节来保存其特定字段,那么当您从继承类构造对象时,它将占用15个字节,其中前10个对应到基类的字段.(注意,这是一个非常简化的解释,还有很多事情要求实际的对象大小).