swift中的類和結構

2022-03-29 15:42:50 字數 1615 閱讀 3957

//類的宣告

//類是乙個引用型別,也就是說其實例分配到堆中

屬性,方法,建構函式,析構函式,,索引器(subscript)

stored properties 儲存屬性 computed properties 計算屬性

class

person

didset(old)

}var p = person()

p.name="";

三個等號是判斷兩個變數是否指向同乙個物件

let p1 =person()

let p2 =p

p ===p1

p ===p2

var p2 = 30

var p =person()

p.p1 = 200

= 300 //報錯

p = person()

let p = person() //常量指標

= 200

= 300 // 報錯

//p = person() //報錯

不能只有set,只有get的時候,表示唯讀計算屬性,可以簡寫

計算屬性是沒有屬性觀察者

計算屬性 ,get set

var

age:int

set}

只可以讀的屬性

var

readonlyage:int

}

總結: 1.每次屬性設定了乙個值後都會被呼叫,不管這個值是否與原來的值一樣。

2.可以給繼承過來的屬性新增屬性觀察期,不管這個繼承過來的屬性是否是

儲存屬性。

3.willset引數預設是newvalue,

didset引數預設是oldvalue

//建構函式,可以有多個

init()

//反建構函式

deinit

classa}

class

b

let b = b()

b.p修飾為靜態,可以用class和static

儲存屬性,只能用static,計算屬性兩個關鍵字都可以

方法也是兩個關鍵字都可以

區別:class修飾的表示子類是可以重寫這些靜態成員

class

image

set}

static

func somemethod()

class

func somemethod2()

}

********下標***********

class xiangce 

set}

func getimage(index: int)->int 

}

let xc =xiangce()

xc.getimage(0)

xc[0

]xc[

0] = 100

xc[0]

Swift中類和結構體

1.類和結構體對比 swift 中類和結構體有很多共同點 與結構體相比,類還有如下的附加功能 2.類和結構體的定義語法 類和結構體有著類似的定義方式。我們通過關鍵字class和struct來分別表示類和結構體,並在一對大括號中定義它們的具體內容,如下 class videomode struct r...

swift中類和結構體的區別

所有的結構體都有乙個自動生成的初始化器,你可以使用它來初始化結構體例項的成員屬性。新例項屬性的初始化值可以通過屬性名稱傳遞到成員初始化器中 let vga resolution width 640,height 480 與結構體不同,類例項不會接收預設的成員初始化器,初始化器的更多細節在初始化章節。...

Swift 類和結構體

swift 中類和結構體的共同點 1.定義屬性用於儲存值 2.定義方法用於提供功能 3.定義下標用於訪問值 4.定義構造器用於生成初始化值 5.通過擴充套件以增加預設實現的功能 6.符合協議以對某類提供標準功能 class 不同於 struct 的特點 1.允許乙個類繼承另乙個類的特徵 2.型別轉換...