类,结构体,枚举类型比较总结

429 阅读1分钟
  1. 枚举类型
    1. 枚举类型只有case,没有常量变量(不一样地方)
    2. 可以有实例方法,类型方法。
    3. 可以有指定构造器,没有便利构造器(不一样地方)
    4. 可以有可变实例方法(不一样地方)
    5. 可以有下标
    6. 它的原始值类型只有Int,Doublt, Float, Character类型,默认是Int类型,Character类型要赋初始值
  2. 结构体
    1. 结构体中只有let,var变量(不一样地方)
    2. 可以有实例方法,类型方法。
    3. 可以有指定构造器没有遍历构造器(不一样地方)
    4. 可以有可变实例方法(不一样地方)
    5. 默认有两个指定构造器,一个无参数构造器,一个逐一成员构造器。(不一样地方)
    6. 可以有下标
    1. 类中只有let,var属性(不一样地方)
    2. 可以有实例方法,类型方法。
    3. 可以有指定构造器和遍历构造器(不一样地方)
    4. 默认只有一个无参数的构造器(不一样地方)
    5. 可以有下标
enum TestEnum {
    case one, two, three
    
    func test(){
        
    }
    
    static func test(){
        
    }
    
    init(name: String){
        switch name {
        case "one":
            self = .one
        default:
            self = .one
        }
    }
    
    mutating func test1(){
        self = .one
    }
}


struct TestStruct {
    let b = 4
    var a = 4
    
    func test() {
        
    }
    
    static func test(){
        
    }
    
    init() {
        
    }
    
    mutating func test1(){
        self.a = 5
    }
}

class TestClass {
    let a = 3
    var b = 4
    
    func test() {
        
    }
    
    static func test(){
        
    }
    
    init() {
        
    }
    
    convenience init(name: String){
        self.init()
    }
    
}