首页 理论教育 优化初始化语法的方法

优化初始化语法的方法

时间:2023-06-23 理论教育 版权反馈
【摘要】:初始化方法的语法和我们之前接触过的方法不太一样,初始化方法必须用关键字init表示。首先创建一个InitPractise的project,初始化的语法如下所示:动手写7.5.1 InitPractise->Car.swift本例中,定义了一个Car类,有两个属性color和brand,在初始化init方法中传入一个参数color或者brand,对实例中的color和brand属性赋值。初始化方法的实现在花括号中定义,这与函数的定义一样。相比于普通的实例方法,初始化方法没有返回值,初始化方法只是将初始值赋给类型中的存储属性。

优化初始化语法的方法

结构体和类的存储属性在初始化完成时需要赋上初始值,除非定义为懒加载,因此在之前的示例中,所有的存储属性都有自己的默认值,不然编译器会报错,告诉开发者某个类型的属性还没有初始值。提供初始化方法也是一种确保实例创建时其属性有初始值的方法。

初始化方法的语法和我们之前接触过的方法不太一样,初始化方法必须用关键字init表示。虽然初始化方法是类型的方法,但是前面没有func关键字。

首先创建一个InitPractise的project,初始化的语法如下所示:

动手写7.5.1 InitPractise->Car.swift

本例中,定义了一个Car类,有两个属性color和brand,在初始化init方法中传入一个参数color或者brand,对实例中的color和brand属性赋值。结构体、枚举和类都是通过初始化方法创建出实例的。

初始化方法通常可以传入一个或多个参数,不过也可以没有参数。初始化方法的实现在花括号中定义,这与函数的定义一样。相比于普通的实例方法,初始化方法没有返回值,初始化方法只是将初始值赋给类型中的存储属性。在main.swift中通过Car的初始化方法创建两个Car的实例,代码如下:

动手写7.5.2 InitPractise->main.swift

本例中,定义了一个Car类,有两个属性color和brand,在初始化init方法中传入一个参数color或者brand,对实例中的color和brand属性赋值。结构体、枚举和类都是通过初始化方法创建出实例的。(www.xing528.com)

初始化方法通常可以传入一个或多个参数,不过也可以没有参数。初始化方法的实现在花括号中定义,这与函数的定义一样。相比于普通的实例方法,初始化方法没有返回值,初始化方法只是将初始值赋给类型中的存储属性。在main.swift中通过Car的初始化方法创建两个Car的实例,代码如下:

动手写7.5.2 InitPractise->main.swift

控制台输出如下:

控制台输出如下:

通过自定义的初始化方法,成功创建两个实例。

通过自定义的初始化方法,成功创建两个实例。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈