您的位置:首页 > 移动开发 > Swift

13.8 Swift构造方法的自动继承

2016-12-22 11:10 225 查看
        /**

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

         */

        

        /**

         (8)13.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

            }

            

            convenience
init() {

                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)

        

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: