我不敢相信,除了一个没有人用代码解释过的人,让我也试一试!
// Design Class
class HumanClass {
var name:String
init(name:String) {
self.name = name
}
}
var humanClassObject1 = HumanClass(name: "Rehan")
现在左侧即“humanClassObject1”是对象,右侧即 HumanClass(name: "Rehan") 是该对象的实例。
var humanClassObject2 = HumanClass(name: "Ahmad") // again object on left and it's instance on the right.
基本上,instance 包含该对象的特定值,而 objects 包含内存位置(在运行时)。
请记住著名的语句“对象引用未设置为对象的实例”,这意味着未初始化的对象没有任何实例。
在某些编程语言(如 swift)中,编译器甚至不允许您设计一个无法初始化其所有成员的类(变量,例如:名称、年龄等),但在某些语言中,您可以这样做:
// Design Class
class HumanClass {
var name:String // See we don't have any way to initialise name property.
}
只有当您尝试执行以下操作时,才会在运行时显示错误:
var myClass = HumanClass()
print(myClass.name) // will give, object reference not set to an instance of the object.
此错误表明,具体值(对于变量\属性)是 "INSTANCE",正如我在上面试图解释的那样!
对象即“myClass”包含内存位置(在运行时)。