學志 swift3 0 類的初學習

2021-07-24 20:15:51 字數 3823 閱讀 1351

老師的作業:

列舉可以同時有原始值和關聯值嗎??

應該是不可以的;

import uikit

import foundation

enum ***

enum birtherror : error

//person類

class person

}//建構函式

init?(firstname:string, lastname:string, ***:***, birthday:string, address:string)

self.firstname = firstname

self.lastname = lastname

self.*** = ***

self.address = addressdo}

catch birtherror.tooyoung

catch birtherror.tooold

catch

}//得到全名

func getname() -> string

//判斷是否同名

func samename(p:person)

else

}//判斷是否為相同例項(判斷是否為同乙個人是通過例項還是所有資訊?)

func sameperson(p:person)

else

}//對生日不合理的進行錯誤丟擲

func processbirth(birthday : string) throws

if birth > "2023年12月31日"

}//下標設定,讀取姓名

subscript(index : int) -> string}}

}func create()

create()

結果(如何同時設定原始值和關聯值??):

建立person

姓名為:汪美美,現生日日期是:20130203,年齡是:3,58,屬性姓氏:汪,名稱為:美美,性別為:男

現在總共有1個人

建立person2

person的生日日期"20191225"設定過大,建立失敗!

現在總共有1個人

建立person3

姓名為:汪美美,現生日日期是:20121225,年齡是:4,34,屬性姓氏:汪,名稱為:美美,性別為:女

現在總共有2個人

person的生日日期"19900125"設定過小,建立失敗!

現在總共有2個人

personperson3

兩人名字分別為:汪美美,汪美美

兩人同名!

personperson3

不是同乙個人!

ps:

當某變數為可選型別時,var

name : 

string

!在有值時,若直接輸出,則是正常輸出;print

(name

)若在字串中輸出則帶有optional

在無值時,若直接輸出則程式出錯中斷;

若在字串中輸出則顯示為nil,但程式不會出錯;

**:var

name : 

string!

//print(name)

print("

\(name)")

name

= "htt"

print

(name)

print("

\(name)")

結果:

nil

htt

optional("htt")

Swift3 0 類方法示例

jftools.swift test swift class method created by jeffasd on 17 3 14.import foundation 不繼承於其它類的類,稱之為基類。注意 swift 中的類並不是從乙個通用的基類繼承而來。如果你不為你定義的類指定乙個超類的話,這...

Swift 3 0基礎學習之下標

前言 類,結構體和列舉都可以定義下標,使用下標可以快速訪問集合,列表或者序列的資料成員元素。可以使用somearray index 來訪問array,使用somedictionary key 來訪問dictionary。乙個型別可以定義多個下標。定義乙個get set的下標 subscript in...

Swift 3 0基礎學習之閉包

前言 閉包是功能性自包含模組,可以在 中被傳遞和使用。swift 中的閉包與 c 和 objective c中的 blocks 以及其他一些程式語言中的 lambdas 比較相似。下面這篇文章就來詳細介紹了關於swift 3.0中的閉包,感興趣的一起來看看吧。開始閉包的書寫格式如下 如reverse...