《从零开始学Swift》学习笔记(Day 37)——默认构造函数

简介:

结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数。构造函数没有返回值,可以重载。在多个构造函数重载的情况下,运行环境可以根据它的外部参数名或参数列表调用合适的构造函数。 

默认构造函数

结构体和类在构造过程中会调用一个构造函数,即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数。下面看示例代码:

1
2
3
4
5
6
7
8
9
10
class  Rectangle {                
     var width: Double  =  0.0  
     var height: Double =  0.0  
}
  
var rect = Rectangle()            //创建实例,并调用默认构造函数init()
rect.width =  320.0               
rect.height =  480.0          
  
print( "长方形:\(rect.width) x \(rect.height)" )


Rectangle()表示调用了某个方法,这个方法就是默认构造函数init()

事实上,在Rectangle的定义过程中省略了构造函数,相当于如下代码:

1
2
3
4
5
6
7
8
class  Rectangle {        
     var width: Double  =  0.0  
     var height: Double =  0.0  
  
     init() {          
      
     }
}


如果Rectangle是结构体,则它的定义如下:

1
2
3
4
struct Rectangle {
     var width: Double =  0.0
     var height: Double =  0.0
}


而结构体Rectangle的默认构造函数与类Rectangle的默认构造函数是不同的,相当于如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
struct Rectangle {
     var width: Double =  0.0
     var height: Double =  0.0
     
     init() {
         
     }
     
     init(width: Double, height: Double){ //有参数的构造函数
         self.width   = width
         self.height  = height
     }
}


要调用哪个构造函数是根据传递的参数名和参数类型决定的。



本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1746995,如需转载请自行联系原作者

相关文章
|
API Swift
Swift实用小册13:Initializer构造函数的使用
构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值。 在之前的章节中,我们在类、结构体中可以声明常量和变量,并给变量/常量赋予了初始值,但如果不同业务当中存在初始值不同的情况,按照之前的方式,我们需要在具体业务中重新赋值。
154 0
Swift实用小册13:Initializer构造函数的使用
|
Swift
Swift学习笔记——页面跳转
创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
1150 0
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
667 0
|
存储 Swift 编译器
19.Swift学习之构造函数与析构函数
重要说明 本文中提到的构造函数,在很多书中有其他的说法,如构造器,构造方法,初始化,初始函数等 本文中提到的析构函数,在很多书中有其他的说法,如反构造器,析构方法,反初始化,反初始函数等 构造函数的介绍 构造函数用于初始化一个类的实例(创建对象)...
1202 0