Swift继承
//声明一个基类
class vehicle {
var maxPassenger :
Int =
0
var manufacturer :
String!
func description() ->
String {
return
"max passenger is \(maxPassenger) and manufacturer is
\(manufacturer)"
}
init () {
maxPassenger =
2
manufacturer =
"Designed By Weasley"
}
}
//声明子类
class Bicycle :
vehicle {
var numberofWheels :
Int =
2
var maxSpeed :
Double = 30
override
init() {
super.init()
maxPassenger =
2
}
override
func description() ->
String {
//return "numberofWheels : \(numberofWheels) maxPassenger : \(maxPassenger) with maxSpeed : \(maxSpeed) manufacturer is \(manufacturer)"
return
super.description() +
";" + "numberofWheels :
\(numberofWheels) maxSpeed :
\(maxSpeed)"
}
}
class LimitSpeedBicycle:
Bicycle {
override
var maxSpeed : Double {
get {
return
super.maxSpeed
}
set {
super.maxSpeed =
min(maxSpeed,
20)
}
}
}
var bicycle =
Bicycle()
println(bicycle.description())
var limit =
LimitSpeedBicycle()
limit.maxSpeed =
30
println(limit.maxSpeed)
class SpeedLevel:
Bicycle {
var level =
1
override
var maxSpeed : Double{
didSet{
level = Int(maxSpeed /
10) +
1
}
}
override
func description() ->
String {
return
super.description() +
" level is \(level)"
}
}
var aBicycle =
SpeedLevel()
aBicycle.maxSpeed =
40
println(aBicycle.description())
Swift继承的更多相关文章
- Swift—继承
一个类可以继承另一个类的方法,属性和其他特性.当一个类继承其他类时,继承类叫子类,被继承类叫超类(或父类).在Swift中,继承具有单继承的特点,每个子类只有一个直接父类,继承是区分类与其他类型的一个 ...
- 学习Swift -- 继承
继承 一个类可以继承另一个类的方法(methods),属性(properties)和其它特性.当一个类继承其它类时,继承类叫子类,被继承类叫超类(父类). 在 Swift 中,子类可以调用和访问父类的 ...
- Swift: 继承
为了在属性值改变的时候获得通知,类可以为继承的属性添加属性观察者.属性观察者可以添加到任何属性上,不管这个属性原来是存储属性还是计算属性. Swift中的类没有一个统一的基类. 为了讲明白继承,我们先 ...
- Swift继承的用法
一个类可以继承另一个类的方法,属性和其它特性.当一个类继承其它类,继承类叫子类,被继承类叫超类(或父类).在Swift中,继承是区分「类」与其它类型的一个基本特征. 在Swift中,类可以调用和访问超 ...
- Swift - 继承UIView实现自定义可视化组件(附记分牌样例)
在iOS开发中,如果创建一个自定义的组件通常可以通过继承UIView来实现.下面以一个记分牌组件为例,演示了组件的创建和使用,以及枚举.协议等相关知识的学习. 效果图如下: 组件代码:Score ...
- swift 继承和构造器
继承 class Vehicle { var numberOfWheels: Int var maxPassengers: Int func description() -> String { ...
- [IOS]swift自定义uicollectionviewcell
刚刚接触swift以及ios,不是很理解有的逻辑,导致某些问题.这里分享一下swift自定义uicollectionviewcell 首先我的viewcontroller不是直接继承uicollect ...
- Swift与Objective-C交互
在同一个工程中是可以同时使用Swift和OC的,但不可以同时出现在同一个文件中. OC调用Swift相关信息的方法 在***.m文件中导入工程名-Swift.h即可. 如工程名为ABC,则在需要使用S ...
- 移动开发语言Swift
苹果公布了全新的编程语言Swift,Swift继承了Objective-C语言特性,并从Python和Java Script中长处,使Swift更易读.未来swift编程语言的会特大广大的使用 Swi ...
随机推荐
- JsonCpp Documentation
JsonCpp - JSON data format manipulation library JsonCpp Documentation 0.6.0-rc2 Introduction JSON (J ...
- openfire插件开发的几点说明
1.关于插件的目录结构 这个网上的资料很多,但是我觉得要看懂也不太容易,我这里上一个包括了jsp和servlet的图,希望大家能马上看懂: ME的Navigator视图下的截图: build path ...
- Learning Cocos2d-x for WP8(2)——深入刨析Hello World
原文:Learning Cocos2d-x for WP8(2)--深入刨析Hello World cocos2d-x框架 在兄弟篇Learning Cocos2d-x for XNA(1)——小窥c ...
- shufe前辈名师
前辈名师 姓名 现职/原职 郭秉文 中国现代大学之父.国立东南大学校长.哥伦比亚大学教育学博士,该校第一任校长.为了纪念郭秉文先生,勉励优秀学子,郭夏瑜女士在上海财经大学等校设立了“郭秉文奖学金” 马 ...
- LeetCode——Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- phpcms v9框架的目录结构分析
phpcms v9框架的目录结构分析: 了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录 使用 ...
- 使用Sublime Text 2编辑和运行node-webkit应用程序
开发工具目录结构 --E:\develop\ ----node-webkit-v0.9.2-win-ia32 ----Sublime Text 2.0.2 x64 为Sublime text2构建Bu ...
- QVector<QString> 显示器里面的动态数组元素QString和char *转变
QVector类是一类提供了动态数组模板. QVector<T>是Qt普通容器类的一种. 它将自己的每个对象存储在连续的内存中.能够使用索引號来高速訪问它们.QList<T>. ...
- bnu1066
hnu1066 给我们一张图,问我们摧毁边使得s和t不连通有多少种方案, 方案与方案之间不能存在相同的摧毁目标. 这是一个神奇的题目. 这题可以转为求s与t的最短路,为什么呢? 因为方案与方案之间不能 ...
- Python编程预约参观北京行动纲要
通过Python程序来模拟一个统一平台预约参观北京,包含验证码识别.登陆.据医院.时间.有关主管部门号等查询. 此程序仅供学习使用,请勿用于其他用途. 1.验证码图片 def getCodePic() ...