學(xué)習(xí)swift (第六天)

前言

人一旦懶了就是非??膳碌氖虑?,希望自己以后要更加勤奮。

正文

一 、結(jié)構(gòu)體 (Struct)

Swift 結(jié)構(gòu)體是構(gòu)建代碼所用的一種通用且靈活的構(gòu)造體。

我們可以為結(jié)構(gòu)體定義屬性(常量、變量)和添加方法,從而擴(kuò)展結(jié)構(gòu)體的功能。

例子一

struct Person {

var name :String

var age:Int

func printData(){

print("name =\(self.name) age =\(self.age)")

}

}

var xiaoming :Person=Person(name:"小明", age:15)

xiaoming.printData()


二、類(Class)

classPerson {

varname :String=""

varage:Int=0

init(name :String, age :Int){

self.name= name

self.age= age

}

funcprintData(){

print("name =\(self.name) age =\(self.age)")

}

}

varxiaoming =Person(name:"小明", age:16)

xiaoming.printData()



三、總結(jié)

從代碼來看Struct 跟 class 基本結(jié)構(gòu)代碼是沒有什么區(qū)別。

但是他們兩者卻有本質(zhì)區(qū)別

先說他們相同點(diǎn)

相同

1,定義屬性用于存儲(chǔ)值

2,定義方法用于提供功能

3,定義附屬腳本用于訪問值

4,定義構(gòu)造器用于生成初始化值

5,通過擴(kuò)展以增加默認(rèn)實(shí)現(xiàn)的功能

6,符合協(xié)議以對某類提供標(biāo)準(zhǔn)功能

不同

1,繼承允許一個(gè)類繼承另一個(gè)類的特征

2,類型轉(zhuǎn)換允許在運(yùn)行時(shí)檢查和解釋一個(gè)類實(shí)例的類型

3,解構(gòu)器允許一個(gè)類實(shí)例釋放任何其所被分配的資源

4,引用計(jì)數(shù)允許對一個(gè)類的多次引用

以我的理解就是結(jié)構(gòu)體沒有面向?qū)ο笕筇匦裕ǚ庋b,繼承,多態(tài)),而且結(jié)構(gòu)體是值引用,對象是地址引用(iOS是引用計(jì)數(shù))


歡迎大家提出自己的意見 以及對我個(gè)人的批評

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容