前言
人一旦懶了就是非澄梗可怕的事情辆亏,希望自己以后要更加勤奮蛾狗。
正文
一 玄渗、結(jié)構(gòu)體 (Struct)
Swift 結(jié)構(gòu)體是構(gòu)建代碼所用的一種通用且靈活的構(gòu)造體座菠。
我們可以為結(jié)構(gòu)體定義屬性(常量、變量)和添加方法藤树,從而擴展結(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ū)別
先說他們相同點
相同
1,定義屬性用于存儲值
2屡限,定義方法用于提供功能
3品嚣,定義附屬腳本用于訪問值
4,定義構(gòu)造器用于生成初始化值
5钧大,通過擴展以增加默認實現(xiàn)的功能
6腰根,符合協(xié)議以對某類提供標(biāo)準(zhǔn)功能
不同
1,繼承允許一個類繼承另一個類的特征
2拓型,類型轉(zhuǎn)換允許在運行時檢查和解釋一個類實例的類型
3额嘿,解構(gòu)器允許一個類實例釋放任何其所被分配的資源
4,引用計數(shù)允許對一個類的多次引用
以我的理解就是結(jié)構(gòu)體沒有面向?qū)ο笕筇匦裕ǚ庋b劣挫,繼承册养,多態(tài)),而且結(jié)構(gòu)體是值引用压固,對象是地址引用(iOS是引用計數(shù))
歡迎大家提出自己的意見 以及對我個人的批評