2015-11-03 38 views
0
var john1: Person1? 
var unit4B : Apartment2? 


john1 = Person1(name: "John") 
unit4B = Apartment2(unit: "4B") 

实例究竟在哪里?我知道john1unit4B是引用实例的变量....但究竟是什么实例.....在上面的声明中或属性nameunit的初始化中?如果变量john1unit4B是实例,那么它们不应该被变量引用...?林困惑我不知道我说的说实话,我已经阅读了大约5次的文档,仍然很困惑!属性初始化本身是一个“实例”,如John4B,它们在属性nameunit内初始化?变量引用的实例究竟在哪里?

回答

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") 
+0

谢谢你的帮帮我! – Ali

相关问题