var john1: Person1?
var unit4B : Apartment2?
john1 = Person1(name: "John")
unit4B = Apartment2(unit: "4B")
实例究竟在哪里?我知道john1
和unit4B
是引用实例的变量....但是究竟是什么实例.....在上面的声明中或在属性的初始化中{{1 }和name
?如果变量unit
和john1
是实例,那么它们不应该被变量引用......?我很困惑,我不知道我说的是什么,说实话,我已经阅读了5次以上的文档,仍然感到困惑!属性初始化本身是一个“实例”,如unit4B
和John
,它们会在属性4B
和name
中初始化吗?
答案 0 :(得分:2)
实例是您在内存中创建的对象的各个“版本”。在这种情况下,您在此处创建两个实例:
... = new Person1(name: "John")
... = new Apartment2(unit: "4B")
你将分配给你之前定义的变量。
当您在此处定义变量时
var john1: Person1?
var unit4B : Apartment2?
现在这些变量不会引用到任何东西。它们不“指向”对象的任何特定实例。 (但是 定义了将来可以指出的类型。)
您可以选择将定义和分配合并到一个语句中,如:
var john1: Person1? = Person1(name: "John")
var unit4B : Apartment2? = Apartment2(unit: "4B")