0

当使用类的构造函数创建对象时,它会使用并存储一些内存空间。创建更多对象会占用更多空间。我的问题是:如果那个类有很多公共类型函数,逻辑上会花费更多的空间,但是当创建更多具有许多公共类型函数的同一个类的对象时,这些函数会单独创建并使用更多空间吗?我想问的是例如:类有 3 个公共类型函数,当创建 1 个对象时,它将使用 1*3x 内存,但是当创建更多对象(10)时,它会使用 10*3x 内存,或者只是 10+ 3? 因此,如果我是对的,当对象需要使用许多公共类型函数并且有很多相同的对象时,将这些公共函数存储在父类中可能会更好,这样会花费更少的内存?

4

1 回答 1

1

只有对象的数据成员才使用内存空间。函数/方法总是在所有对象之间共享。唯一使用一些内存空间的方法是虚拟方法,但空间成本通常只为每个类类型支付一次。

不管方法是定义在父类还是子类中,它们都将占用与可执行代码相同的内存量。此外,两种情况下参数的处理方式相同,因此在父类或子类中定义方法不会更快或更慢。

于 2013-01-09T00:29:34.103 回答