今日份swift學習5

2021-10-02 07:07:54 字數 1892 閱讀 8874

列舉,結構體和類

1.列舉

列舉能為一組相關值定義乙個相同的型別

我們通過enum關鍵字來宣告乙個列舉型別

ex:enum direction

也可以宣告在乙個case中用逗號隔開

當我們宣告乙個列舉型別時,就等於我們宣告了乙個新的swift資料型別,可以像使用int string那樣使用它

ex:var walk:direction = direction.north(此處可把型別標註去掉)

walk = .east(用點語法改變值)

*使用switch語句來匹配列舉值

switch walk ——此時情況是完全考慮的,所以不需要default補充

2.類和結構體

和列舉一樣,當我們宣告乙個類和結構體時,我們就宣告了乙個新的swift型別

(1)類和結構體的宣告(結構體struct,類class)

ex1:用結構體描述解析度物件:

struct resolution

*宣告在類和結構體中的常量或變數我們通常稱之為屬性

ex2:class player

(2)類和結構體的例項化

類和結構體的例項化都通過構造語法實現,構造語法最簡單的方式是在類或結構體的型別名稱後面跟隨一對括號

ex: var resolution = resolution()

*在宣告類和結構體時,命名也用駝峰命名法,但是第乙個單詞的首字母也要大寫

(3) 可以通過點語法對類的屬性進行訪問和修改

resolution.width = 1920

resolution.height = 1080

3.類和結構體的差異

(1)結構體在宣告之後系統會自動生成乙個成員逐一建構函式

用於初始化新的結構體例項中每乙個成員的屬性

ex: let vga = resolution(width:640,height:480)

而類沒有成員逐一建構函式

(2)結構體是值型別

值型別被賦予乙個常量變數或傳遞給乙個函式的時候,他的值會被複製

(3)類是引用型別

類被賦予乙個常量變數或傳遞給乙個函式的時候,他的值是引用已經存在的例項

(4)類是可以繼承的

乙個類可以繼承另乙個類的方法,屬性和其他特性

繼承類叫做子類,被繼承的類叫做父類或超類,不繼承於其他類的叫做基類

宣告子類時,在名稱後加上冒號再寫父類名稱

*宣告在結構體或者類中的函式我們通常稱之為方法

4.類的重寫

重新宣告乙個類並繼承父類,對其中的方法進行重寫

5.類和結構體在例項化時,必須為所有屬性設定合適的初始值,我們可以通過建構函式來實現例項的初始化,通常我們也稱建構函式為構造器,建構函式會在例項化時被呼叫

建構函式通過init關鍵字來實現

*self可以幫助系統分辨自身屬性和使用者輸入

*類和結構體中可以擁有多個建構函式

6. 當結構體或類的屬性有預設值時,系統會提供乙個預設的建構函式在例項化時讓屬性等於預設值

今日份swift學習4

引言 將乙個字串變數轉化為數字型別,字串內容必須為數字 輸出的值被optional包裹起來,得到乙個可選型別的值 1.可選型別 1 宣告可選型別,在型別宣告後面加上問號 ex var optionalnumber int?2 2 可選型別不能進行型別推斷,必須要進行型別標註 3 可選型別的值要展開使...

2020 04 16今日份學習小結

自我總結第二天start。主要學習了分支結構中的 if 語句。在 執行中常見的結構有 1.順序結構 2.分支結構 3.迴圈結構。一.if 分支結構 格式為 if 條件判斷 例如 判斷一年是不是閏年 能被4整除但是不能被100整除,或者能被400整除 class demo 二.if else 分支結構...

今日份的學習筆記 2021 08 11

對之前內容作了部分修改 官方文件給出的十分詳細,此處不再贅述,只作簡單補充 快速開始 環境搭建 修改包名 新建模組 正式部署 jeesite 4.x idea的jeesite專案匯入補充 02 idea open開啟jeesite目錄下web工程 03 開啟pom檔案,pom檔案報紅,將以下內容進行...