OOP一般 - RAM中的类信息

时间:2012-06-26 15:08:16

标签: oop ram

绝对必要的是,编程语言保存类信息(例如,在Objective-C 2字节中)以了解“规范”(例如Integer:4个字节; String:8个字节; {)object? 由于多态性,程序必须在运行时检查对象是否具有正确的type(对于方法;消息)对吗? 消耗这么多资源?主要是因为你创建了越来越多的类来维持一个合适的结构......

2 个答案:

答案 0 :(得分:1)

绝对必要。类的对象(即引用)存储在RAM中。它使用非常小的号码。 f字节,因为它只存储内存地址

检查不会发生在运行时,它在编译期间发生。这不会导致任何额外的内存使用。创建类,方法不会增加内存使用量,但(如果只是略微增加)会增加编译时间。存储数据(对象/引用,数字,字符串等)使用内存。只有在创建对象时,语言机才会分配和使用内存。

答案 1 :(得分:0)

  

绝对必要

没有

例如,默认情况下,C ++不存储任何类型信息。每个对象只存储一个pointer to a table of function pointers,以实现虚函数调用。

在C ++中,默认情况下,所有类型检查都在编译时完成。这只会在您开始执行“有趣”的事情时发生变化,例如dynamic_cast,这需要运行时类型检查,因此输入要存储在对象中的信息。