iOS 开发 -- Swift (十) 重载构造函数
2016-02-26 18:17
225 查看
重载构造函数
Swift 中支持函数重载,同样的函数名,不一样的参数类型/// `重载`构造函数 /// /// - parameter name: 姓名 /// - parameter age: 年龄 /// /// - returns: Person 对象 init(name: String, age: Int) { self.name = name self.age = age super.init() }
注意事项
如果重载了构造函数,但是没有实现默认的构造函数init(),则系统不再提供默认的构造函数
原因,在实例化对象时,必须通过构造函数为对象属性分配空间和设置初始值,对于存在必选参数的类而言,默认的
init()无法完成分配空间和设置初始值的工作
调整子类的构造函数
重写父类的构造函数
/// `重写`父类构造函数 /// /// - parameter name: 姓名 /// - parameter age: 年龄 /// /// - returns: Student 对象 override init(name: String, age: Int) { no = "002" super.init(name: name, age: age) }
重载构造函数
/// `重载`构造函数 /// /// - parameter name: 姓名 /// - parameter age: 年龄 /// - parameter no: 学号 /// /// - returns: Student 对象 init(name: String, age: Int, no: String) { self.no = no super.init(name: name, age: age) }
注意:如果是重载的构造函数,必须
super以完成父类属性的初始化工作
重载
和重写
重载,函数名相同,参数名/参数类型/参数个数不同
重载函数并不仅仅局限于
构造函数
函数重载是面相对象程序设计语言的重要标志
函数重载能够简化程序员的记忆
OC 不支持函数重载,OC 的替代方式是
withXXX...
重写,子类需要在父类拥有方法的基础上进行扩展,需要
override关键字
相关文章推荐
- Swift:界面传值指南
- 在OC项目中添加Swift文件并实现混合编程
- swift与OC的关系
- iOS 开发 -- Swift (九) 构造函数
- IOS Apps 开发(Swift)(7)——Define Your Data Model
- IOS Apps 开发(Swift)(6)——Implement a Custom Control(2)
- The Swift Programming Language学习笔记(二十六)——高级运算符
- IOS Apps 开发(Swift)(6)——Implement a Custom Control(1)
- Swift编程之枚举类型详解
- 窥探Swift编程中的错误处理与异常抛出
- 七个Swift中的陷阱以及避免方法
- Swift - 多线程实现方式(3) - Grand Central Dispatch(GCD)
- (Swift+iOS)字符串轨迹转贝塞尔曲线,实现动态写字效果
- 窥探Swift编程之错误处理与异常抛出
- iOS 开发 -- Swift (八) 闭包
- Swift学习02
- swift 总结
- SWIFT 通过字符串创建相关的类
- 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
- swift基本语法(总结提炼版)之010 swift 之函数