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")
    
  • 相关阅读:
    k3 cloud采购入库单单位问题
    k3 cloud没有使用协同平台开发时候的调试方式
    k3 cloud写插件不重启IIS热更新简单配置
    k3 cloud部署包中的安装包变成了浏览器,不能安装
    逻辑门
    JDBC的架构设计
    非功能性约束之性能(1)-性能银弹:缓存
    C#性能优化杂七杂八的总结
    QT QToolTip
    IDEA spotbugs使用
  • 原文地址:https://www.cnblogs.com/jukaiit/p/10174414.html
Copyright © 2011-2022 走看看