加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift语言 继承和扩展

发布时间:2020-12-14 02:21:04 所属栏目:百科 来源:网络整理
导读:参考来源:小波说雨燕 // 父类 class 车 { var 速度 = 0 var 描述 : String { return " 时速 ( 速度 ) 公里每小时 " } func 声响 () { } } let 一辆车 = 车 () 一辆车 . 描述 一辆车 . 声响 () /** * func 声响 () 表示车类中有这样一个方法,与 oc 中的实

参考来源:小波说雨燕

//父类

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

一个整数.平方()

一个整数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读