//系統會自動釋放不再需要的例項,以釋放各種資源,在乙個類的例項被釋放之前,析構函式會被呼叫
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...