OC轉Swift之基礎篇(三) 類

2021-07-29 06:26:10 字數 2547 閱讀 5891

//類

//屬性定義(get,set方法)、便利構造器方法、方法定義

class

person

setelse }

}lazy

varaccount =

account

()//懶載入類(類的屬性必須為var)

init

(firstname:

string

,lastname:

string

,age:

int)

convenience

init

(fullname:

string

) else }

func

modifyinfowithage(firstname:

string

,lastname:

string

,age:

int)

static

varskin:

array

<

string

>

func

showmessage()

class

func

showclassname()

deinit }

//類裡面屬性的值改變是監聽

class

account

didset }

}//建立類

varp =person

.init

(firstname:

"jonny"

, lastname:

"deng"

, age:25)

p.account

.balance

=10 //屬性設定

p.showmessage

( )//例項方法呼叫

forcolor

inperson

.skin

p =

person

.init

(fullname:

"jenny yang")

p.age=18

p.showmessage()

p.modifyinfowithage

(firstname:

"jonny"

, lastname:

"deng"

, age:25)

p.showmessage()

person

.showclassname

() //類方法呼叫

//類の下標索引

class

record

subscript

(index:

int)->

string

set }

subscript

(key:

string

)->

string

set }

}let

r =record

.init

(data: [

"name"

:"jenny"

,"***"

:"gril"])

print

("r[0]=\(

r[0]

)")//結果:r[0]=jenny r

["***"]=

"boy"

print(r[

1])//結果boy

//類の繼承

class

student:

person

didset }

varscore:

double 

//子類構造 初始化之後呼叫父類的構造方法

init

(firstname:

string

,lastname:

string

,score:

double)

convenience

init

()

//重寫父類的方法

override

func

showmessage() }

varstudent =

student

.init()

student.

firstname

="jonny"

student.

lastname

="deng"

student.

age=25

student.

score=99

student.

showmessage()

student =

student

.init

(firstname:

"jenny"

, lastname:

"yang"

, score:59)

student.

age=18

student.

showmessage()

iOS學習筆記43 Swift 三 類

作為一門物件導向語言,類也是swift的非常重要的型別,我們先來看下乙個簡單的類 swift中乙個類可以不繼承於任何其他基類,那麼此類本身就是乙個基類 class person 析構器方法,在物件被釋放時呼叫,類似於objc的dealloc,注意這裡沒有括號和引數,無法直接呼叫 deinit 定義物...

OC重新開始(三)類的性質

多型存在著父類和子類,被繼承的類叫父類,通過繼承的類稱為子類,繼承通過擴充套件或者修改既有的類來定義新類的方法。此外子類還可以 增加新的方法 增加新的變數 重新定義父類中的方法 重寫override 在cocoa環境下nsobject是根類,即所有類都是他的子類,都繼承nsobject,即nsobj...

我的OC練習(三) 類的繼承實踐練習

為了練習類的繼承,熟悉 public private和 protected的使用,我做了下面乙個練習。練習工程為五個檔案 main.m,animal.h,animal.m,dog.h,dog.m 內容如下 main.m main.m 2nd created by morning on 2015 11...