《從零開始學Swift》學習筆記(Day 46)——下標重寫
原創文章,歡迎轉載。轉載請註明:關東昇的部落格
下標是一種特殊屬性。子類屬性重寫是重寫屬性的getter和setter訪問器,對下標的重寫也是重寫下標的getter和setter訪問器。
下面看一個示例:
class DoubleDimensionalArray {
let rows: Int, columns: Int
var grid: [Int]
init(rows: Int, columns: Int) {
self.rows = rows
self.columns = columns
grid = Array(count: rows * columns, repeatedValue: 0)
}
subscript(row: Int, col: Int) -> Int { //定義下標
get {
return grid[(row * columns) + col]
}
set {
grid[(row * columns) + col] = newValue
}
} //定義下標
}
class SquareMatrix: DoubleDimensionalArray {
override subscript(row: Int, col: Int) -> Int { //重寫父類下標
get {
return super.grid[(row * columns) + col]
}
set {
super.grid[(row * columns) + col] = newValue * newValue
}
}
}
var ary2 = SquareMatrix(rows: 5, columns: 5)
for var i = 0; i < 5; i++ {
for var j = 0; j < 5; j++ {
ary2[i,j] = i + j
}
}
for var i = 0; i < 5; i++ {
for var j = 0; j < 5; j++ {
print("\t\t \(ary2[i,j])")
}
print("\n")
}
其中super.grid[(row * columns) + col]語句中使用super呼叫父類的grid屬性。
其中super.grid[(row * columns) + col] = newValue * newValue語句是給父類的grid屬性賦值。
歡迎關注關東昇新浪微博@tony_關東昇。 關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程資訊
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com 智捷課堂論壇網站:http://51work6.com/forum.php
相關文章
- python Scrapy 從零開始學習筆記(一)Python筆記
- python Scrapy 從零開始學習筆記(二)Python筆記
- PHP從零開始系列二(學習筆記):序言PHP筆記
- PHP從零開始系列一(學習筆記):前言PHP筆記
- 從零開始學Electron筆記(六)筆記
- 從零開始學Electron筆記(七)筆記
- 從零開始學Electron筆記(二)筆記
- 從零開始學Electron筆記(四)筆記
- 從零開始學Electron筆記(五)筆記
- 從零開始學Electron筆記(一)筆記
- 從零開始學Electron筆記(三)筆記
- 從零開始JAVA資料結構學習筆記(一)Java資料結構筆記
- 從零開始學習機器學習機器學習
- 從零開始學習laravelLaravel
- 從零開始學習KafkaKafka
- 從零開始構建並編寫神經網路【學習筆記】[2/2]神經網路筆記
- 從零開始構建並編寫神經網路---Keras【學習筆記】[1/2]神經網路Keras筆記
- 從零開始學netty——為何重寫方法不一樣Netty
- 從零開始機器學習機器學習
- 從零開始學五筆(一):概述
- 《Python深度學習從零開始學》簡介Python深度學習
- 從零開始學習C++(0)C++
- 從零開始學習 Go ——安裝Go
- 從零開始機器學習-03機器學習
- 從零開始機器學習--4機器學習
- 從零開始機器學習--05機器學習
- swift學習筆記《1》Swift筆記
- swift學習筆記《4》Swift筆記
- 從零開始的Unity個人學習日記(二)Unity
- 從零開始學機器學習——入門NLP機器學習
- 從零開始學機器學習——瞭解聚類機器學習聚類
- 《谷歌JAX深度學習從零開始學》簡介谷歌深度學習
- 從零開始學PythonPython
- swift學習筆記《2》-swift語法Swift筆記
- 從頭開始的Java學習Day05Java
- 從零開始學習邏輯迴歸邏輯迴歸
- 從零開始學習 React 高階元件React元件
- 從零開始學習如何部署程式碼
- 從零開始內網滲透學習內網