- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Swift教程之继承详解
Swift教程之继承详解
这篇文章主要介绍了Swift教程之继承详解,一个类可以从另外一个类中继承方法,属性或者其它的一些特性,当一个类继承于另外一个类时,这个继承的类叫子类,被继承的类叫父类,需要的朋友可以参考下
一个类可以从另外一个类中继承方法,属性或者其它的一些特性。当一个类继承于另外一个类时,这个继承的类叫子类,被继承的类叫父类。继承是Swift中类区别于其它类型的一个基本特征。
Swift中的类可以调用父类的方法,使用父类的属性和下标,还可以根据需要使用重写方法或者属性来重新定义和修改他们的一些特性。Swift可以帮助你检查重写的方法和父类的方法定义是相符的。
类还可以为它继承的属性添加观察者,这样可以能够让它在一个属性变化的时候得到通知。属性观察者可以被添加给任何属性,不管它之前是存储属性还是计算属性。
1、定义一个基类
任何一个不继承于其它类的类被称作基类
注意:Swift的类不是从一个全局基类继承而来。在你编写代码的时,只要是在类的定义中没有继承自父类的类都是基类。
下面的例子定义了一个叫Vehicle的基类。基类包含两个所有交通工具通用的属性numberOfWheels和maxPassengers。这两个属性被一个叫description的方法使用,通过返回一个String描述来作为这个交通工具的特征:
复制代码 代码如下:
class Vehicle {
var numberOfWheels: Int
var maxPassengers: Int
func description() - String {
return \(numberOfWheels) wheels; up to \(maxPassengers) passengers
}
init() {
numberOfWheels = 0
maxPassengers = 1
}
}
这个交通工具类Vehicle还定义了一个构造函数来设置它的属性。构造函数更多的解释在Initialization一章,但是为了说明子类如何修改继承的属性,这里需要简要解释一下什么叫构造函数。
通过构造函数可以创建一个类型的实例。尽管构造函数不是方法,但是它们在编码的时候使用了非常相似的语法。构造函数通过确保所有实例的属性都是有效的来创建一个新的实例。
构造函数最简单的形式是使用init关键词的一个类似方法的函数,并且没有任何参数:
复制代码 代码如下:
init() {
// perform some initialization here
}
使用构造函数语法TypeName和空的两个小括号来完成一个Vehicle实例的创建:
复制代码 代码如下:
let someVehicle = Vehicle()
Vehicle的构造函数为属性设置了一些初始值(numberOfWheels = 0 然后 maxPassengers = 1)。
Vehicle类定义的是一个通用的交通工具特性,它本身没有太多意义,所以就需要冲定义它的一些属性或者方法来让它具有实际的意义。
2、产生子类
产生子类就是根据一个已有的类产生新类的过程。子类继承了父类的一些可以修改的特性。还可以为子类添加一些新的特性。
为了表明一个类是继承自一个父类,需要将父类的名称写在子类的后面,并且用冒号分隔:
复制代码 代码如下:
class SomeClass: SomeSuperclass {
// class definition goes here
}
下面的例子定义了一种特定叫Bicycle的交通工具。这个新类是基于已有的类Vehicle产生的。书写方式是在类名Bicycle后加冒号加父类Vehicle名。
可以理解为:
定义一个新的类叫Bicycle,它继承了Vehicle的特性:
复制代码 代码如下:
class Bicycle: Vehicle {
init() {
super.init()
numberOfWheels = 2
}
}
Bicycle是Vehicle的子类,Vehicle是Bicycle的父类。Bicycle类继承了Vehicle所有的特征,比如maxPassengers和numberOfWheels属性。你还可以为Bicycle类添加心的属性。
Bicycle类也定义了构造函数,在这个构造函
您可能关注的文档
- G第8章中断系统.ppt
- G实验和GM实验-2012-3-17-张黎RICU.ppt
- 直流电机原理与调速.ppt
- G试验和鲎实验操作技术.ppt
- G第4章汇编语言设计.ppt
- H--电学.doc
- 直流电压变换电路.doc
- H-帧中继.ppt
- H.265讲解.ppt
- H2S防护事故案列.ppt
- 绿电2022年系列报告之一:业绩利空释放,改革推动业绩反转和确定成长.docx
- 化学化工行业数字化转型ERP项目企业信息化规划实施方案.pdf
- 【研报】三部门绿电交易政策解读:溢价等额冲抵补贴,绿电交易规模有望提升---国海证券.docx
- 中国债券市场的未来.pdf
- 绿电制绿氢:实现“双碳”目标的有力武器-华创证券.docx
- 【深度分析】浅析绿证、配额制和碳交易市场对电力行业影响-长城证券.docx
- 绿电:景气度+集中度+盈利性均提升,资源获取和运营管理是核心壁垒.docx
- 节电产业与绿电应用年度报告(2022年版)摘要版--节能协会.docx
- 2024年中国人工智能系列白皮书-智能系统工程.pdf
- 如何进行行业研究 ——以幼教产业为例.pdf
最近下载
- 大楼维修改造工程投标方案(技术标367页).docx
- 高频电刀的使用(参考).ppt
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 省考公务员-黑龙江-行政职业能力测验-第一章数量关系-第四节行程问题-.docx VIP
- DB23_T(1621.10-1621.14)-2015:黑龙江省建设工程施工操作技术规程(三).pdf VIP
- 整体法-隔离法-动态平衡题型练.doc VIP
- 2021年全国乙卷(生物)高考真题.pdf VIP
- 论中小企业会计核算重要性-来源:财会学习(第2020027期)-《中国建材报》社、中国会计学会建材分会.pdf VIP
- 2022年高考真题全国乙卷(文综历史)真题(有答案).pdf VIP
- 浅谈机务维修作风建设 蔡恒志.doc VIP
文档评论(0)