參考資料:
類與結構體有五個不同:
類沒有建構函式,所以要自己寫
類可繼承,結構體沒有
乙個類物件賦值給另乙個變數,則兩個變數都指向同一記憶體,而乙個結構體物件賦值給另乙個變數,則兩個變數是完全無關的物件
類有析構函式
類不需要mutating關鍵字
執行快捷鍵:shift+command+回車
刪除當前行:option+d
class
dog}
let poppy =
dog(name:
"poppy"
, breed:
"poodle"
)
class
dog}
class
poodle
:dog
}
class
dog}
class
poodle
:dog
}let poppy =
poodle()
poppy.
makenoise
()
final
class
dog}
結果乙個是taylor swift乙個是justin bieber
class
singer
var singer =
singer()
print
(singer.name)
var singercopy = singer
singercopy.name =
"justin bieber"
print
(singer.name)
改為結構體之後始終是taylor swift
struct
singer
var singer =
singer()
print
(singer.name)
var singercopy = singer
singercopy.name =
"justin bieber"
print
(singer.name)
class
person
func
printgreeting()
deinit
}for_in
1...
3
前面結構體中說如果要改結構體中變數的值需要用mutating關鍵字,而類中不需要用mutating關鍵字。
class
singer
let taylor =
singer()
taylor.name =
"ed sheeran"
print
(taylor.name)
class
singer
類模板的特化和函式模板的過載與類模板的繼承
類似於函式模板的特化,類模板的特化也是在類模板定義以後,用template來說明乙個模板的特化型別,特化的類模板甚至可以定義新的資料成員和成員函式,下面就是乙個類模板特化的例子 include template class a t compute template class a int compu...
C Prime Plus 第10章 物件和類
抽象 封裝 將實現細節放在一起並將它們與抽象分開被稱為封裝,種類 1 資料隱藏 2 將類函式定義和類宣告放在不同檔案中 和資料隱藏 將資料封裝到私有部分從而保護資料的完整性稱為資料隱藏 多型繼承 的可重用性 2.1 類的組成 類宣告 資料成員描述資料部分 成員函式 方法 描述公有介面,一般放於標頭檔...
開卷有益,重看jdk文件 關於類和介面中的繼承
類與類之間存在繼承關係的時候,要是子類和父類定義了乙個相同簽名的靜態方法時,兩個版本的方法被誰呼叫取決於實際呼叫它的類,即子類對父類方法隱藏了。另外,如果子類和父類定義了乙個相同簽名的例項方法時,用過父類引用指向子類例項的方式呼叫該方法的時候,實際呼叫的是子類方法,即父類方法被重寫。父類 publi...