Swift5.1—构造器的自动继承

简介: Swift5.1—构造器的自动继承

子类在默认情况下不会继承父类的构造器。但是如果满足特定条件,父类构造器是可以被自动继承的。事实上,这意味着对于许多常见场景你不必重写父类的构造器,并且可以在安全的情况下以最小的代价继承父类的构造器。


假设你为子类中引入的所有新属性都提供了默认值,以下 2 个规则将适用:

规则 1

如果子类没有定义任何指定构造器,它将自动继承父类所有的指定构造器。

规则 2

如果子类提供了所有父类指定构造器的实现——无论是通过规则 1 继承过来的,还是提供了自定义实现——它将自动继承父类所有的便利构造器。


即使你在子类中添加了更多的便利构造器,这两条规则仍然适用。


注意

子类可以将父类的指定构造器实现为便利构造器来满足规则 2。

目录
相关文章
|
7月前
|
存储 Java C#
30 如何在Swift中实现继承
如何在Swift中实现继承
27 0
|
8月前
|
存储 Swift
Swift属性包装器@propertyWrapper
Swift属性包装器@propertyWrapper
77 0
|
Swift
Swift - 如何判断一个对象是否是某个类
Swift - 如何判断一个对象是否是某个类
76 0
|
Swift
OC 和 swift 创建单例方法
OC 和 swift 创建单例方法
289 0
|
前端开发 Swift
Swift实用小册10:实例方法和类型方法的使用
Swift实用小册10:实例方法和类型方法的使用
184 0
Swift实用小册10:实例方法和类型方法的使用
|
存储 安全 Swift
Swift5.1—指定构造器和便利构造器
Swift5.1—指定构造器和便利构造器
478 0
Swift5.1—指定构造器和便利构造器
Swift5.1—必要构造器
Swift5.1—必要构造器
95 0
|
存储 Swift
Swift5.0 - day5-继承、初始化、可选链、协议(下)
Swift5.0 - day5-继承、初始化、可选链、协议(下)
79 0
|
存储 安全 Java
Swift5.0 - day5-继承、初始化、可选链、协议(上)
Swift5.0 - day5-继承、初始化、可选链、协议(上)
103 0
Swift5.0 - day5-继承、初始化、可选链、协议(上)
|
存储 安全 编译器
Swift-进阶 02:类、对象、属性
Swift-进阶 02:类、对象、属性
289 0
Swift-进阶 02:类、对象、属性