swift语言 继承和扩展

前端之家收集整理的这篇文章主要介绍了swift语言 继承和扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参考来源:小波说雨燕

//父类

class {

var 速度 = 0

var 描述 :String {

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

}

func 声响() {

}

}


let 一辆车 = ()

一辆车.描述

一辆车.声响()

/**

* func 声响() 表示车类中有这样一个方法,与oc中的实例方法类似

调用时,一辆车.声响()

*/



//子类继承父类

class 自行车: {

var 有篮子 = false

}


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

一辆自行车.有篮子 = true


一辆自行车.速度 = 25

.描述


//子类的子类

final class 情侣自行车: 自行车 {

var 当前乘客数 = 0

}


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

一辆情侣自行车.当前乘客数2

20

.描述



//子类重载父类方法

//override 告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次

class 动车: {

override func 声响() {

println("------")

}


}

let 一辆动车 = 动车()


一辆动车.声响() //调用方法 声响() 运行后将会输出 ------




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

class 汽车: {

var 轮子数 = 0


override var 描述 :String {

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

}


override var 速度 :Int {

didSet {

if 速度 > 120 {

println("警告:您的速度已经超过120公里每小时,为了您的安全,进入自动驾驶状态.")

}

}

}


}



let 一辆汽车 = 汽车()


println(一辆动车.描述)


一辆汽车.速度 = 121

一辆汽车.轮子数4

.描述


* 对象中的变量可以直接拿过来使用

*/

println("you" + 一辆汽车.描述)


//扩展

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

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

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


extension Double {

var rmb: Double {

return self * 0.0597

}

}

//日本人均月薪314150日元

31_4150.rmb



//整数自行平方

extension Int {

mutating func 平方() {

self *= self

}

}


var 一个整数 = 999

一个整数.平方()

一个整数

猜你在找的Swift相关文章