【发布时间】:2011-06-03 15:48:58
【问题描述】:
如果有一个类 A 并且我实例化了 A 的三个对象 x,y,z,并且 A 中有一个函数 foo(),那么对于 f 是否会存在三个机器代码副本(每个对象一个)?
类方法的目的是什么?当所有对象都有共享代码时,为什么还要使用类方法?它只是对 HLL 程序员的抽象吗?
【问题讨论】:
标签: oop coding-style
如果有一个类 A 并且我实例化了 A 的三个对象 x,y,z,并且 A 中有一个函数 foo(),那么对于 f 是否会存在三个机器代码副本(每个对象一个)?
类方法的目的是什么?当所有对象都有共享代码时,为什么还要使用类方法?它只是对 HLL 程序员的抽象吗?
【问题讨论】:
标签: oop coding-style
不,不会。将只有一份代码副本。然而,每个类实例都有自己的类成员变量副本。
【讨论】:
您还询问了Class Methods,它们也称为静态方法。
在这种情况下,代码仍然只有一个副本,但在执行时它只能修改静态成员,类的所有实例(对象)都会看到。
【讨论】: