Swift  构造器(Initializer) & 析构器

//构造器(Initializer)
//为了初始化结构体和类等类型的实例属性

//默认构造器
struct Fash {
    var temperature: Double
    init() {
        temperature = 32.0
    }
}
var f = Fash()  //调用默认构造器init(),没有参数没有返回值
//var ff = Fash(temperature: 12.0)) //如果不写默认构造器,可以这样调用,要指定参数
print("默认构造器--\(f.temperature)")
//自定义构造器
struct Cele {
    var temp: Double = 0.0
    //通过名字区分不同的构造器
    init(fromF f: Double) {
        temp = (f - 32.0) / 1.8
    }
    init(fromK k: Double) {
        temp = k - 222.1
    }
}
let bol = Cele(fromF: 100)
let fre = Cele(fromK: 300)
print(bol , fre)
//析构器
//与构造器相反,在对象释放的时候自动调用
class Play {
    var coinP: Int
    init(coins: Int){
        print("call")
        coinP = coins
    }
    func win(coins: Int) {
        coinP += 10
    }
    deinit {
        coinP = 0
    }
}
var playOne: Play?=Play(coins: 100)
print(playOne!.coinP)
//并不是所有类型都能定义为nil,必须是可选类型
playOne = nil
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值