IOS中的Swift基礎(類和物件)

2021-07-24 03:44:57 字數 3029 閱讀 2378

//  person.swift

import

foundation //

類是一類物體的共有性抽象

//物件是某一類的乙個具體

class

person:

nsobject

//該方法是為了解決字典裡面的一些

key值,在該模型裡面沒有導致的系統崩潰

override

func

setvalue(value:

anyobject

?, forundefinedkey key:

string)

} //  animal.swift

import

foundation //

過載建構函式

class

animal:

nsobject

//如果過載了構造方法同事沒有寫上系統預設的構造方法,外界無法訪問到該類的構造方法

override

init

() }

//  main.swift

import

foundation //

在swift

裡面引用其他我們自定義的類不用匯入標頭檔案,可以直接使用 //

面向過程

:注意功能實現的乙個過程 //

物件導向

:注意實現功能所要參與的物件 //

建立person

物件//

類名()

代表該類呼叫系統預設的例項化方法

letperson0 =

person()

//訪問物件的屬性採用點語法

println

(person0

.name)

println

(person0

.age)

//屬性值在該類中定義為

var時,可修改其屬性值

person0

.name="

胡小樂"

person0

.age=70

println

(person0

.name)

println

(person0

.age)

//給可選型別的屬性進行賦值操作

person0

.grade="

五年級"

person0

.count=5

println

(person0

.grade!)

println

(person0

.count!)

//給有過載建構函式類的屬性進行賦值

letanimal0 =

animal

(age:

2, type:

"dog")

println

(animal0

.age)

println

(animal0

.type!)

letstudent0 =

students

(stuno:

1, stuname:

"胡小東

", stuage:20)

letclass0 =

classes

(cno:

"1001"

, cname: "軟體

141"

, peoplecount:40)

println("

\(student0

.stuno!),

\(student0

.stuname!),

\(student0

.stuage!)"

) println("

\(class0

.cno!),

\(class0

.cname!),

\(class0

.peoplecount!)"

) //鍵值編碼:

kvc(key-value-coding)

//是一種通過字串間接訪問物件屬性的一種方法

letanimal1 =

animal()

animal1

.setvalue

("horse"

, forkey:

"type"

)//key

要跟你要設定的屬性的名字一樣

//在進行

kvc賦值的時候,類的屬性如果是基本資料型別的話不能是可選型別,必須有乙個初始值

animal1

.setvalue(12

, forkey:

"age")

println

(animal1

.type!)

println

(animal1

.age)

letanimal2 =

animal()

letdict = [

"type"

:"monkey"

,"age":5

] "type"], forkey: "type")

"age"], forkey: "age")

//setvaluesforkeyswithdictionary:(keyedvalues:[nsobject:anyobject]):

會將字典中的

key跟物件屬性的名字進行對比,如果一樣,將

key對應的

value

設定到物件的屬性上,會在底層重複呼叫

setvalue(value, forkey:key)

animal2

.setvaluesforkeyswithdictionary

(dict)

println

(animal2

.type!)

println

(animal2

.age)

swift中的類和結構

類的宣告 類是乙個引用型別,也就是說其實例分配到堆中 屬性,方法,建構函式,析構函式,索引器 subscript stored properties 儲存屬性 computed properties 計算屬性 class person didset old var p person p.name 三...

IOS中的Swift基礎02 switch,迴圈

main.swift swiftlesson02 created by lanou on 16 10 21.年 import foundation switch c語音的 switch switch 變數 case value2 default swift 裡面的switch 1 switch 後面...

C 中對類和物件基礎理解

c 中對類和物件基礎理解 c 不是純物件導向的程式語言,而是基於物件導向的語言,因為c 中包含c語言的部分,而c語言是面向過程的。物件導向的三大特性 封裝 繼承 多型。封裝 將方法和資料封裝在類裡面,可以根據訪問限定符的使用保證資料的安全性,隱藏了方法的實現細節,也方便使用。繼承 對已有類增加屬性和...