13.1 Swift指定构造方法和便利构造方法解析

来源:互联网 发布:短信可爱铃声软件 编辑:程序博客网 时间:2024/05/21 10:08

        /**

         13.1-指定构造方法和便利构造方法解析.mp4

         (Designated Initializers and Convenience Initializers)

         都是与类相关的

         */

        

        

        class AB {

            var a:Int

            var b:Int

            

            

            // 指定构造方法,不允许出现构造器代理,self.init(...)

            init(a:Int, b: Int) {

                self.a = a

                self.b = b

                print("Class AB init!")

            }

            

            // 便利构造方法一定是通过调用其它的构造方法来实现初始化 self.init

            convenienceinit(a: Int) {

//                self.a = a

//                b = 0

                

                self.init(a: a, b:0)

            }

            

            convenienceinit(b: Int) {

//                self.init(a: 2, b: 0)

                self.init(a:8)

            }

        }

        

        var ab:AB = AB.init(b:9)

        

        print(ab.a)

        print(ab.b)


0 0
原创粉丝点击