arbipher
2014-01-16 13:44:23 +08:00
实例化对象,是根据一个抽象的模型(这里假定是Class,JavaScript这种基于prototype的比较复杂),构造出来的一个具体的对象。
什么是模型(Class)?
比如,
苹果。当我们谈论苹果时,指的是一种可红可绿可食用,能赶走医生的水果。
另一个例子,
人类。当我们谈论人时,指的是“没有羽毛的两足行走”的动物物种。
什么是实例(instance)
你从门口的水果摊上买个三个苹果,命名为甲、乙、丙。甲是这个苹果,乙是那个苹果,丙是另外一个苹果。甲、乙、丙,都是苹果的实例。有实例就有自我(id),甲就是甲。你把甲削皮,还吭了一口。
另一个例子,
你是一个人。我也是一个人。你发帖提问,我回答。
什么是实例方法(instant method)
必须是实例才能使用的方法。你可以在现实中给苹果甲削皮(调用实例的实例方法),你也可以在想象中给一个苹果削皮(定义一个类的对象可以使用的实例方法),但是你不可能在现实中给苹果这个概念削皮。现实中,只要你削皮了,削皮的对象就是一个具体的苹果。
削皮就是实例方法,你削皮的那个苹果就是实例。
静态的问题,我想一下应该怎么解释。