zoukankan      html  css  js  c++  java
  • Swift构造

    构造就是将结构体、类或枚举的实例准备好以便使用的过程。这个过程包括:
    (1)为实例中的每个存储属性设置初始值。
    (2)执行必要的准备和初始化工作。

    实例的构造过程是通过构造器来完成的。

    可以在结构体、类或枚举中提供自定义的构造器,从而自定义实例的构造过程。

    结构体的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    struct SomeStruct {
        var someProperty: String
        
        init(someProperty: String) {
            self.someProperty = someProperty
        }
    }
    
    let someStruct = SomeStruct(someProperty: "SP")
    someStruct.someProperty
    
    

    类的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    class SomeClass {
        var someProperty: String
        
        init(someProperty: String) {
            self.someProperty = someProperty
        }
    }
    
    let someClass = SomeClass(someProperty: "SP")
    someClass.someProperty
    
    

    枚举的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    enum SomeEnum {
        case someValue1
        case someValue2
        case someValue3
        
        init(param: String) {
            switch param {
            case "sv1":
                self = .someValue1
            case "sv2":
                self = .someValue2
            default:
                self = .someValue3
            }
        }
    }
    
    SomeEnum(param: "sv2")
    
  • 相关阅读:
    工程师死绝的世界答案-python3版
    PEP 530 -- 异步推导式
    pandas爬虫
    mac下安装memcache
    mac下安装redis
    mac安装adb
    风热感冒,风寒感冒,病毒性感冒,细菌性感冒
    网络异常时抓包操作说明tcpdump+Wireshark
    你家酱油“氨基酸态氮”是多少?酱油的选择
    买安卓手机的一点心得
  • 原文地址:https://www.cnblogs.com/jukaiit/p/10174414.html
Copyright © 2011-2022 走看看