亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift中的類class與結構體struct體學習筆記

2020-03-09 17:48:17
字體:
來源:轉載
供稿:網友

一、引言
Swift中的類與結構體十分相似,和Objective-C不同的事,Swift中的結構體不僅可以定義屬性,也可以像類一樣為其定義方法。

Swift中的類與結構體有如下相似點:

1.定義屬性來存儲值。

2.定義函數來提供功能。

3.通過定義下標語法使用下標的方式取值。

4.定義構造方法來對其進行初始化。

5.通過擴展來在原始基礎上添加功能。

6.通過協議來定義實現標準。

當然類和結構體也有許多不同點,下面這些功能是類獨有的,結構體沒有:

1.通過繼承來創建類的子類。

2.在運行時允許對類的實例進行類型的檢查和解釋。

3.析構方法可以釋放被類引用的資源。

4.通過引用計數允許一個類實例的多處引用。

當開發者在代碼中傳遞這些實例時,結構體總是被賦值,而類則是被引用。這是結構體和類的最本質區別。

二、類與結構體的定義

類與結構體在定義語法上相似,示例代碼如下:

class MyClass {  var name = "HS"  var age = 25}struct MyStruct {  var param1:Int  var param2:String}//創建類的實例var obj1 = MyClass()//創建結構體的實例 所有結構體會默認生成一個逐個設置屬性的構造方法 而類不會var obj2 = MyStruct(param1: 1,param2: "1")//可以通過點語法來獲取類或者結構體中的屬性值print(obj1.age,obj2.param1)

通過示例間的傳遞,可以證明Swift中類被引用于結構體被復制這樣的特點,示例如下:

//將類實例傳遞給另一個變量var obj3 = obj1//將結構體實例傳遞給另一個變量var obj4 = obj2//修改變臉的值obj3.name = "NewHS"obj4.param1 = 2//將 打印 NewHS 1 //說明類是被引用的 結構體則被賦值print(obj1.name,obj2.param1)

注意:在實例傳遞時同樣采用復制原理的還有枚舉類型。

由于類是通過引用來進行傳遞,Swift中還提供了一種運算符用來比較兩個實例變量或常量是否指向同一個引用,示例如下:

if obj1===obj3{  print("same refer")}else if obj1 !== obj3 {  print("not same refer")}

實際上,===與!==運算符比較的是指針內容。

三、類和結構體的選擇

由于類和結構體有著不同的傳遞機制,因此其也適用于不同的開發任務,下面這些情況下,官方推薦開發者使用結構體來創建數據類型:

1.該數據類型封裝少量的簡單數據值。

2.該類型數據來傳遞時,應該被復制。

3.該類型中定義的數據類型在傳遞時也應該被賦值。

4.不需要通過集成另一個數據類型而來。

除了上面列舉的一些情況,其它情況下,都推薦開發者使用類來描述數據,這也是開發中最后常用的手段。


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日产国产成人免费图片| 日韩大片免费观看视频播放| 欧美理论片在线观看| 国产精品久久久久99| 亚洲精品久久久久久久久久久| 欧美色播在线播放| 一区二区中文字幕| 2019中文在线观看| 日韩av电影中文字幕| 奇米4444一区二区三区| 亚洲人成电影网| 成人国产精品久久久久久亚洲| 欧美激情精品久久久久久免费印度| 韩国v欧美v日本v亚洲| 亚洲激情在线观看| 国产xxx69麻豆国语对白| 国产精品av网站| 久久91超碰青草是什么| 欧美日韩激情视频8区| 91天堂在线观看| 91精品综合视频| 91精品91久久久久久| 国产精品久久久久久久久久尿| 国产精品极品美女粉嫩高清在线| 中文字幕亚洲综合| 色一情一乱一区二区| 欧美日产国产成人免费图片| 日韩黄在线观看| 久久6精品影院| 日韩中文在线视频| 国产成人福利视频| 国产aⅴ夜夜欢一区二区三区| 国产成人鲁鲁免费视频a| 日韩av免费网站| 亚洲色图17p| 亚洲国产欧美自拍| 欧美大片免费看| 亚洲欧洲免费视频| 亚洲精品欧美日韩| 日韩经典中文字幕| 韩国福利视频一区| 亚洲国产精品美女| 亚洲色图18p| 国产亚洲视频在线| 福利一区福利二区微拍刺激| 欧美一级大片在线免费观看| 国产精品久久久久久久久久ktv| 国产精品www| 国产经典一区二区| 日韩美女av在线免费观看| 亚洲综合中文字幕在线观看| 国产精品香蕉在线观看| 久久精品国产一区二区三区| 日韩第一页在线| 在线观看国产精品淫| 欧美另类在线观看| 日韩av中文字幕在线| 亚洲理论电影网| 久久久成人精品视频| 成人www视频在线观看| 精品二区三区线观看| 亚洲一区二区三区在线免费观看| 欧美日韩一区二区免费在线观看| 色99之美女主播在线视频| 日韩国产欧美区| 精品国偷自产在线视频99| 亚洲国产精品999| 欧美美最猛性xxxxxx| 91极品视频在线| 57pao国产成人免费| 久久人人爽国产| 亚洲欧洲国产伦综合| 2018国产精品视频| 亚洲国产精品99| 精品国产91久久久久久| 欧美情侣性视频| 亚洲成人激情在线| 日韩www在线| 中文字幕欧美视频在线| 欧美亚洲成人xxx| 欧美性高跟鞋xxxxhd| 亚洲精品色婷婷福利天堂| 日韩极品精品视频免费观看| 色诱女教师一区二区三区| 欧美片一区二区三区| 国产亚洲成精品久久| 日韩精品中文字幕在线播放| 国产精品视频色| 国产精品久久久久久久久久久久| 91成人福利在线| 亚洲综合最新在线| wwwwwwww亚洲| 欧美综合一区第一页| 搡老女人一区二区三区视频tv| 国产精品久久av| 国产精品偷伦免费视频观看的| 91免费福利视频| 美女av一区二区| 欧美黄网免费在线观看| 国产精品自拍小视频| 国产精品∨欧美精品v日韩精品| 不卡中文字幕av| 欧美精品www| 亚洲区一区二区| 国产女同一区二区| 亚洲成成品网站| 亚洲国产精品热久久| 国产精品高清网站| 亚洲精品免费在线视频| 久久精品亚洲94久久精品| 成人h视频在线观看播放| 日韩欧美国产一区二区| 欧美激情国产日韩精品一区18| 中文字幕日韩av综合精品| 欧美精品第一页在线播放| 欧美精品福利视频| 久久久久久中文字幕| 亚洲mm色国产网站| 欧美国产精品日韩| 国产在线98福利播放视频| 成人免费xxxxx在线观看| 日产日韩在线亚洲欧美| 一区二区欧美亚洲| 国外成人免费在线播放| 亚洲欧美色婷婷| 日韩av色综合| 97av视频在线| 97国产一区二区精品久久呦| 亚洲成人久久一区| 国产精品福利观看| 午夜精品国产精品大乳美女| 欧美最近摘花xxxx摘花| 亚洲午夜国产成人av电影男同| 亚洲美女福利视频网站| 日韩网站免费观看高清| 91九色视频导航| 91久久精品美女高潮| 欧美一乱一性一交一视频| 在线播放日韩欧美| 在线看国产精品| 亚洲色图美腿丝袜| 欧美另类交人妖| 91夜夜未满十八勿入爽爽影院| 精品夜色国产国偷在线| 久久影院模特热| 国产精品入口免费视频一| 欧美在线日韩在线| 国产亚洲精品美女久久久| 久久影视免费观看| 精品国产一区二区三区久久久狼| 高清欧美一区二区三区| 国产精品免费观看在线| 亚洲成成品网站| 亚洲3p在线观看| 伊人伊成久久人综合网小说| 欧美成人免费小视频| 国产欧亚日韩视频| 成人中心免费视频| 亚洲丝袜av一区| 欧美成aaa人片免费看| 在线成人一区二区| 色综合久久久888| 国产成人精品一区二区在线| 日韩中文字幕免费看|