swift继承和扩展

// inherit & extension 继承和扩展

//父类

class 车 {

var 速度 = 0

var 描述 :String {

return "时速\(速度)公里每小时"

}

func 声响() {

}

}

let 一辆车 = 车()

一辆车.描述

//子类继承父类

class 自行车: 车{

var 有篮子 = false

}

let 一辆自行车 = 自行车()

一辆自行车.有篮子 = true

一辆自行车.速度 = 25

一辆自行车.描述

//子类的子类

class 情侣自行车:自行车{

var 当前乘客数 = 0

}

let 一辆情侣自行车 = 情侣自行车()

一辆情侣自行车.速度 = 20

一辆情侣自行车.描述

//子类重载父类的方法

class 动车: 车{

override func 声响() {

println("嘟嘟嘟")

}

}

let 一辆动车 = 动车()

一辆动车.声响()

//子类重载父类的计算属性

class 汽车:车{

// override var 速度 = 60

var 轮子数 = 0

override var 描述:String{

return super.描述 + ",有\(轮子数)个轮子"

}

override var 速度 :Int{

didSet {

if 速度 > 120 {

println("警告:你超速了")

}

}

}

}

let 一辆汽车 = 汽车()

一辆汽车.速度 = 121

一辆汽车.轮子数 = 4

一辆汽车.描述

//扩展  (相当于分类)

//已存在的类/结构体/枚举类型。通常用于

//1.源代码不可知的情况

//2.把复杂的类分解,提高可维护性

extension Double {

var rmb: Double{

return self * 0.0597

}

}

31_4150.rmb

//整数自行平方

extension Int {

mutating func 平方(){

self *= self

}

}

var 一个整数 = 1024

一个整数.平方()

一个整数

时间: 2024-12-29 07:28:20

swift继承和扩展的相关文章

五 Swift开发之扩展(Extension)

五 Swift开发之扩展(Extensions) //扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(categories)类似.(不过与Objective-C不同的是,Swift 的扩展没有名字.) Swift 中的扩展可以: 1.添加计算型属性和计算静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6

java通过继承来扩展接口

接口主要是为了向上转型,从而使基类(接口方法)更具灵活性!不想废话,看例子: /** * */ package interfaces; interface Monster{ void menace(); } interface DangerousMonster extends Monster{ void destory(); } interface Lethal{ void kill(); } class DragonZilla implements DangerousMonster{ publ

swift 继承相关

class Vehicle { var numberOfWheels: Int var maxPassengers: Int func description() -> String { return "\(numberOfWheels) wheels; up to \(maxPassengers) passengers" } init() { numberOfWheels = 1; maxPassengers = 3; } } class Bicycle: Vehicle {

swift 继承和构造器

继承 class Vehicle { var numberOfWheels: Int var maxPassengers: Int func description() -> String { return "\(numberOfWheels) wheels; up to \(maxPassengers) passengers" } init() { numberOfWheels = 0 maxPassengers = 1 } } class Bicycle: Vehicle {

IOS开发语言Swift入门连载---扩展

IOS开发语言Swift入门连载-扩展 扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(categories)类似.(不过与Objective-C不同的是,Swift 的扩展没有名字.) Swift中的扩展可以: 添加计算型属性和计算静态属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 使一个已有类型符合某个协议 注意: 如

加载静态文件,父模板的继承和扩展

用url_for加载静态文件 <script src="{{ url_for('static',filename='js/login.js') }}"></script> flask 从static文件夹开始寻找 可用于加载css, js, image文件 继承和扩展 把一些公共的代码放在父模板中,避免每个模板写同样的内容.base.html 子模板继承父模板 {% extends 'base.html' %} 父模板提前定义好子模板可以实现一些自己需求的位置及

作业21-加载静态文件,父模板的继承和扩展

用url_for加载静态文件 <script src="{{ url_for('static',filename='js/login.js') }}"></script> flask 从static文件夹开始寻找 可用于加载css, js, image文件 继承和扩展 把一些公共的代码放在父模板中,避免每个模板写同样的内容.base.html 子模板继承父模板 {% extends 'base.html' %} 父模板提前定义好子模板可以实现一些自己需求的位置及

加载静态文件,父模板的继承和扩展(2017.11.3)

用url_for加载静态文件 <script src="{{ url_for('static',filename='js/login.js') }}"></script> flask 从static文件夹开始寻找 可用于加载css, js, image文件 继承和扩展 把一些公共的代码放在父模板中,避免每个模板写同样的内容.base.html 子模板继承父模板 {% extends 'base.html' %} 父模板提前定义好子模板可以实现一些自己需求的位置及

二十一、加载静态文件,父模板的继承和扩展

用url_for加载静态文件 <script src="{{ url_for('static',filename='js/login.js') }}"></script> flask 从static文件夹开始寻找 可用于加载css, js, image文件 继承和扩展 把一些公共的代码放在父模板中,避免每个模板写同样的内容.base.html 子模板继承父模板 {% extends 'base.html' %} 父模板提前定义好子模板可以实现一些自己需求的位置及