swift-类

类,函数, 闭包是引用类型
结构体, 枚举, Int ,Float, Double, String, Bool 是值类型

引用类型:实例是常量,成员类型是变量, 是可以修改成员变量类型
值类型: 对于上面的情况是不可以修改的

对于值类型改变自身,需要添加关键字 mutating , 引用类型改变自己不需要添加, 如下:

// 该结构体是值类型, (枚举,结构体,基本类型都是值类型)
struct Location {
    
    var latitable = 0
    var longitable = 0
    
     mutating func click () {
        self.latitable = 2
    }
}
`===`, `!==`  可以比较引用类型之间的比较,比较是否指向同一个内存空间

`==` 可以比较值类型是否相等

类和结构体比较

1.结构体===值;类===物体

2.结构体不可被继承;类可以被继承

3.结构体更加轻量级,小规模的类建议使用结构体

4.结构体较为高效,原因:结构体的内存空间在栈,类的内存空间在堆.堆中查找地址速度较慢

final 放在类函数的前面 可以有效防止该类不被继承

override 重载, 继承父类的方法属性,可以使用override重载

你可能感兴趣的:(swift-类)