Swift 學(xué)習(xí)基礎(chǔ)之類的使用

1.類的定義:

class 類名 :父類(可以沒(méi)有父類) {?

屬性入热,和方法

}

事例:

class Person : NSObject{

var age:Int = 0

//override 重寫(xiě) 方法 那么字典中沒(méi)有的字典可以在類中沒(méi)有對(duì)應(yīng)的屬性

override func setValue(_ value: Any?, forUndefinedKey key: String) {

}

}

let p = Person()

p.age = 20

//p.setvalusForKeysWithDictionary(["age":18])

// 類的定義屬性

// 1.存儲(chǔ)屬性:存儲(chǔ)實(shí)例的常量和變量

class Student : NSObject {

var age = 0

var name:String?? //可選類型 默認(rèn)為nil

var mathScore : Double = 0.0

var chinaseScore:Double = 0.0

//? ? 定義一個(gè)方法可以返回平均成績(jī)

func getAverageScore() -> Double {

// 在swift開(kāi)發(fā)中导狡,如果使用當(dāng)前對(duì)象的某一個(gè)屬性而叼,或者調(diào)用當(dāng)前對(duì)象的某一個(gè)方法時(shí)戴甩,可以直接使用愚墓,不需要加self

return? (mathScore + chinaseScore)*0.5

}

// 計(jì)算屬性 swift 建議用計(jì)算屬性

var avg:Double {

return (mathScore + chinaseScore)*0.5

}

// 定義類屬性:

static var courseCount:Int = 0

}

// 給類屬性賦值

Student.courseCount = 2

let stu = Student()

stu.age = 10

stu.name = "LM"

stu.mathScore = 78

stu.chinaseScore = 59.9

print(stu.age)

if let name = stu.name {

print(name)

}

let avg = (stu.mathScore + stu.chinaseScore)*0.5

stu.getAverageScore()

print(stu.avg)

2.類的構(gòu)造函數(shù)與屬性監(jiān)聽(tīng)

2.1類的構(gòu)造函數(shù)

class Person: NSObject {

var name:String?

var age = 0

// 父類方法

override init() {

//在構(gòu)造函數(shù)中酪惭,如果沒(méi)有調(diào)用? super.init() 氯哮,那么系統(tǒng)會(huì)幫助調(diào)用

super.init()

print("chongxie")

}

//自定義構(gòu)造函數(shù)

init(name:String,age:Int) {

self.name = name

self.age = age

}

//? ? init(dict:[String : AnyObject]) {

//? ? ? ? let tempName = dict["name"]

//

//? ? ? ? ////as?最終轉(zhuǎn)成的類型時(shí)一個(gè)可選的類型

//? ? ? ? name = tempName as? String

//? ? ? ? //as!最終轉(zhuǎn)成的類型時(shí)一個(gè)確定的類型

////? ? ? ? age = tempage as! Int

//

//? ? ? ? if let tempage = dict["age"] as? Int {

//? ? ? ? ? ? age = tempage

//? ? ? ? }

//

//

//? ? }

init(dict:[String:AnyObject]) {

super.init()

//? ? ? ? self.setValuesForKeysWithDictionary(dict)

}

override func setValue(_ value: Any?, forUndefinedKey key: String) {

}

}

let p = Person()

let p1 = Person(name:"why",age:18)

print(p1.age)

let p2 = Person(dict: ["name":"LM" as AnyObject,"age":18 as AnyObject])

2.2監(jiān)聽(tīng)屬性的變化

class Person : NSObject {

var name : String? {

//屬性將要改變時(shí)進(jìn)行監(jiān)聽(tīng)

willSet{

//? ? ? ? ? print(name)

print(newValue)

}

//屬性已經(jīng)改變時(shí)進(jìn)行監(jiān)聽(tīng)

didSet {

//? ? ? ? ? ? print(name)

print(oldValue)

}

}// 屬性監(jiān)聽(tīng)器

}

let p = Person()

p.name = "LM"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沪饺,一起剝皮案震驚了整個(gè)濱河市躏敢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌整葡,老刑警劉巖件余,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡啼器,警方通過(guò)查閱死者的電腦和手機(jī)旬渠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)端壳,“玉大人告丢,你說(shuō)我怎么就攤上這事∷鹎” “怎么了岖免?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)照捡。 經(jīng)常有香客問(wèn)我颅湘,道長(zhǎng),這世上最難降的妖魔是什么栗精? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任闯参,我火速辦了婚禮,結(jié)果婚禮上悲立,老公的妹妹穿的比我還像新娘鹿寨。我一直安慰自己,他們只是感情好薪夕,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布释移。 她就那樣靜靜地躺著,像睡著了一般寥殖。 火紅的嫁衣襯著肌膚如雪玩讳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天嚼贡,我揣著相機(jī)與錄音熏纯,去河邊找鬼。 笑死粤策,一個(gè)胖子當(dāng)著我的面吹牛樟澜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叮盘,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼秩贰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了柔吼?” 一聲冷哼從身側(cè)響起毒费,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愈魏,沒(méi)想到半個(gè)月后觅玻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體想际,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年溪厘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胡本。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畸悬,死狀恐怖侧甫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蹋宦,我是刑警寧澤披粟,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站妆档,受9級(jí)特大地震影響僻爽,放射性物質(zhì)發(fā)生泄漏虫碉。R本人自食惡果不足惜贾惦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敦捧。 院中可真熱鬧须板,春花似錦、人聲如沸兢卵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)秽荤。三九已至甜奄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窃款,已是汗流浹背课兄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晨继,地道東北人烟阐。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像紊扬,于是被迫代替她去往敵國(guó)和親蜒茄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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