13.8 Swift构造方法的自动继承

来源:互联网 发布:js中的format函数 编辑:程序博客网 时间:2024/05/29 02:27

        /**

         父类的构造方法默认是不会被子类自动继承的。

         */

        

        /**

         813.8-构造方法的自动继承.mp4

         a 如果子类中没有任何定义的构造方法,且子类中所有的存储属性都有默认缺省值,会自动继承父类中

         所有的构造方法(包括便利构造方法)

         b 如果子类中只是重写了父类中的某些(而不是全部)指定构造方法,不管子类中的存储属性是否

         有缺省值,都不会继承父类中的其他构造方法。

         c 如果子类中重写了父类中所有的指定构造方法,不管子类中的存储属性是否有缺省值,都同时

         会继承父类中所有的便利构造方法。

         */

        

        class XY {

            var x:Int

            var y:Int

            

            init(x:Int, y: Int) {

                self.x = x

                self.y = y

            }

            

            init(x:Int) {

                self.x = x

                self.y =0

            }

            

            convenienceinit() {

                self.init(x:0, y: 0)

            }

            

        }

        

        class XYZ:XY {

            var z:Int = 0

            

        }

        

        

        var t0 =XYZ()

        var t1 =XYZ.init(x:0)

        var t2 =XYZ.init(x:0, y: 0)

        

        


0 0