swift3.0 构造器、析构方法(3)
2024-09-04 10:34:50
3.构造器、析构方法
构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构。
构造器的定义:
init (){
//代码
}
init(name:String){
//代码
}
在构造器中可以调用其它的构造器进行操作:
init (){
//代码
}
init(name:String){
self.init()
//代码
}
在类或结构初始化时,首先执行的是我们在初始化调用的相应构造函数。
构造函数可以使用构造代理方式,使用关键字convenience,这种方式叫做便利构造器。
使用关键字required修饰的构造器被称为必要构造器,作用是,约束所有的继承子类重写该构造器。
在构造器 init后面添加“?”,则该构造器可以接受错误的参数而不会报错,允许在调用构造参数时出现错误,这种方式叫做可失败构造器。
构造器的继承:
1.在类的继承中,构造器是可以被子类进行继承的,如子类中存在构造器,则父类中的构造器将被覆盖,无法调用。
2.在父类中定义便利构造器,子类中也存在不同结构的便利构造器,则子类可以调用父类的便利构造器和自身的便利构造器。
3.在父类中定义便利构造器,子类中没有便利构造器,无法调用。
必要构造器:
class A {
required init(name:String){
//代码
}
} class B:A{
//必须重写 否则报错
required init(name:String){
//代码
}
}
析构方法:析构方法为在类对象释放时隐式调用的方法,与构造器类似,区别是使用deinit为方法名称,而单个类对象中只允许有一个无参析构方法,用来释放对象,回收资源,以及做一些业务逻辑操作。
最新文章
- HTML中哪些标签的值会被提交到服务器呢?
- SQL Left Join, Right Join, Inner Join, and Natural Join 各种Join小结
- Appium技术点之解决屏幕无法点击的情况————Python版本
- Android Studio 单刷《第一行代码》系列目录
- [BZOJ 3626] [LNOI2014] LCA 【树链剖分 + 离线 + 差分询问】
- oracle数据库一些用户管理语句
- Go 语言Map(集合)
- Linux:Day13(上) CentOS系统启动流程
- openssl升级
- Android中使用TabLayout实现Tab
- 用DDD模拟案例分析
- Visio画流程图风格设置
- 小a和uim之大逃离
- JS 显示隐藏DIV
- Pycharm及python安装详细教程
- 安卓中通知(Notification)的基本使用方法
- spring杂碎
- LeetCode OJ:Valid Sudoku(有效数独问题)
- CentOS Firewall简单使用
- 在windows和linux之间用SecureCRT来上传和下载文件
热门文章
- mysql 查询重复的(不区分大小写)数据的SQL优化
- debian install &; configure(2)-drivers-ati
- 忘记linux密码
- mysql_healthly
- chapter 10 统计检验
- CodeForces - 508D Tanya and Password(欧拉通路)
- Ognl中根元素与非根元素的关系
- Little Zu Chongzhi's Triangles
- hdu 3068 最长回文(manachar求最长回文子串)
- Mongo散记--聚合(aggregation)&;amp; 查询(Query)