Swift基础语法-类,类的恒等运算


1. 类的基本定义

  • Swift中的结构体和类非常相似, 但是又有不同之处
  • 类是具有相同属性和方法的抽象
  • 类没有逐一构造器, 因此需要手动写构造方法
  • 如果写了自定义的构造器, 则原有的 类名() 这个方法将失效,
  • 如果需要使用到原有默认的构造器 类名() 则需要在中重写 init(){}构造器

  • 格式:

class 类名称 {
    类的属性和方法
}
class Rect {
    var width:Double
    var height:Double
    func show() -> Void{
        print("width = \(width) height = \(height)")
    }
    //类没有逐一构造器, 因此需要手动写构造方法
    init (width : Double, height : Double){
        self.width = width
        self.height = height
    }
    // 写了上面的构造方法之后, 则原有的 类名() 这个方法将失效, 因此需要重写构造器
    init () {
        self.height = 0.0
        self.width = 0.0
    }
}
  • 类没有逐一构造器, 如果想要使用, 必须手动写构造方法
  • 注意: 如果手动重写了构造器, 则原有的 init () {}将失效, 如果要使用, 则也需要重写
    //在该类中添加构造器
    init (width : Double, height : Double){
        self.width = width
        self.height = height
    }
    // 写了上面的构造方法之后, 则原有的 类名() 这个方法将失效, 因此需要重写构造器
    init () {
        self.height = 0.0
        self.width = 0.0
    }

2. 类的使用

  • 使用自定义类创建对象
//该类必须手动写 init (width : Double, height : Double){} 构造器, 如果没有构造器而使用则直接报错
var r1 = Rect(width: 10.0, height: 10.0)
r1.show()
var r2 = r1
r2.show()
//输出结果:
//width = 10.0 height = 10.0
//width = 10.0 height = 10.0
  • 对象给新变量定义时赋值, 是引用类型, 指针引用, 新对象创建出来的对象和之前的对象指向同一个存储空间
//类是引用类型, 类之间的赋值其实是将r2指向了r1的存储空间
//所以他们是两个只想同一块存储空间, 修改其中一个会影响到另外一个
r1.width = 99
r1.show()
r2.show()
//输出结果:
//width = 99.0 height = 10.0
//width = 99.0 height = 10.0
  • 使用恒等运算符判断是否是同一个实例, 也就是判断是否指向同一个存储空间
    • 恒等 ===
    • 不恒等 !==
var r3 = Rect()  
if r1 === r3 { 
    print("指向同一块存储空间")
}
//输出结果:
//指向不同的存储空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值