2015-11-03 83 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

相關問題