Swift學習筆記四 類與物件(二)

2021-08-18 20:56:30 字數 2641 閱讀 6713

//系統會自動釋放不再需要的例項,以釋放各種資源,在乙個類的例項被釋放之前,析構函式會被呼叫

class animal4

func say()

deinit

}var animal5: animal4? = animal4(name: "jerry", age: 33)

animal5?.

say()

animal5=

nil//下標是訪問集合、列表、序列中的元素的快捷方式,結構體、列舉和類都可以定義下標。

class person2}}

let person5 = person2()

person5[0]

person5[1]

person5[2]

//類的靜態方法,也稱為型別方法。例項方法是被型別的某個例項呼叫的方法,而靜態方法則是被型別本身呼叫的方法。

class mathtool

func sum(num1: int, num2: int) -> int

class

func multiply(num1: int, num2: int) -> int

}let tool = mathtool()

tool.sum(num1: 1, num2: 1)

//當需要呼叫靜態方法時,需要使用型別而不是例項。靜態方法使用方便,專案中的工具類,往往包含大量的靜態方法。

mathtool.multiply(num1: 2, num2: 3)

12.講乙個類的例項作為另乙個類的屬性

class animal5

class person3

var person7 = person3()

person7.age=

11person7.pet= animal5()

person7.pet.name=

"sweety cat"

person7

//乙個類可以繼承另乙個類的方法、屬性和其他特性。當乙個類繼承其他類時,繼承類叫子類,被繼承類叫父類。繼承是區分類和其他型別的乙個重要特性。

class animal6

}//父類的名稱位於子類名稱的後方,並用冒號進行分割

class

dog: animal6

//子類可以為繼承來的例項方法、靜態方法、例項屬性或下標,提供自己定製的實現。我們把這種行為叫做重寫。

overridefuncsay()

}var dog = dog(name: "nono")

dog.

say()

class creature

}class

dog1: creature

}//建立作為父類的生物型別的陣列

let creatures:[creature] =

[dog1(name: "nono", master: "john"),

dog1(name: "bailey", master: "smith"),

dog1(name: "toby", master: "bill")

]for object in

creatures

fordog

increatures

as! [dog1]

//型別檢查是一種檢查類例項的方式,並且也是讓例項作為它的父類或者子類的一種方式

//型別檢測使用is和as操作符實現。這兩個操作符提供了一種簡單達意的方式,去檢查值的型別或者轉換它們的型別。

class creature1

}class

dog2: creature1

}class

bird: creature1

}let creatures1:[creature1] =

[dog2(name: "nono", master: "john"),

bird(name: "max", food: "bugs"),

dog2(name: "bailey", master: "smith"),

bird(name: "charlie", food: "spider"),

dog2(name: "toby", master: "bill")

]var dogcount = 0

var birdcount = 0

foritem

increatures1

else

if item is

bird

}dogcount

birdcount

foritem

increatures1

else

iflet bird = item as? bird

}//anyobject可以代表任何class型別的例項。此外還有乙個any,它可以表示任何型別,除了方法型別。

varanythings = [

any]() //定義乙個any型別的陣列,該陣列可以裝載各種型別的資料。

anythings.(8

)anythings.

(3.14156

)anythings.

("hello"

)anythings.

((3.0

, 5.0

))anythings

foritem

inanythings

}

《Inside C 》筆記 四 類

類是對資料結構和演算法的封裝。一 類成員 類成員包括以下幾類,作者在後面的章節會詳細講解。字段 用來儲存資料,可用static readonly const來修飾 方法 運算元據的 屬性 用來控制對類內部變數的訪問 常量 索引器 事件和運算子。二 訪問修飾符 public 可被外部的類和派生類訪問 ...

c 學習筆記(四) 類和結構

類的預設訪問許可權是private 結構是public 該關鍵字修飾的變數可以在類的const方法中修改 class node 建議使用如下方式 正確 constref constref int ii i ii ci ii ri ii 錯誤 constref constref int ii 原因 效...

C 練習(四)類和物件

構建乙個類book,其中含有兩個私有資料成員qu和price,建立乙個有5個元素的陣列物件,將qu初始化1 5,將price初始化為qu的10倍。顯示每個物件的qu price。標頭檔案book.h includeusing namespace std class book book成員函式.cpp...