博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《从零開始学Swift》学习笔记(Day 46)——下标重写
阅读量:6681 次
发布时间:2019-06-25

本文共 1432 字,大约阅读时间需要 4 分钟。

原创文章。欢迎转载。转载请注明:关东升的博客

 

下标是一种特殊属性。

子类属性重写是重写属性的gettersetter訪问器,对下标的重写也是重写下标的gettersetter訪问器。

以下看一个演示样例:

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_关东升。

关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
 
很多其它精品iOSCocos、移动设计课程请关注智捷课堂官方站点:
智捷课堂论坛站点:

 

 

转载于:https://www.cnblogs.com/clnchanpin/p/7061870.html

你可能感兴趣的文章
对于文件管理的基本操作
查看>>
【自动化运维】从#手动到#远程到#批量安装虚拟机
查看>>
linux学习笔记——目录介绍、简单命令、通配符
查看>>
Linux--进程管理
查看>>
Hadoop之HDFS原理及文件上传下载源码分析(上)
查看>>
阿里云云服务器硬盘分区及挂载
查看>>
StratoIO WebPrinter如何引入外部JS?StratoIO WebPrinter控件常见的问题
查看>>
【JEECG技术文档】Redis与Eache切换文档
查看>>
网卡配置文件
查看>>
继承性
查看>>
static静态关键字
查看>>
jQuery事件
查看>>
zookeeper
查看>>
tar.gz tar.bz2解压
查看>>
19-思科防火墙:ASA静态NAT
查看>>
打造零售数据中台 数澜助百果园数字化转型
查看>>
YOLOv3目标检测实战:交通标志识别
查看>>
用 Python 进行微信公众号开发
查看>>
SpringMVC 扫描引用第三方包,以及打包的问题
查看>>
Linux大文件下载
查看>>