Swift结构体

Swift讲解专题十——类与结构体

拟墨画扇 提交于 2019-12-01 01:21:56
Swift讲解专题十——类与结构体 一、引言 Swift中的类与结构体十分相似,和Objective-C不同的是,Swift中的结构体不仅可以定义属性,也可以像类一样为其定义方法。 Swift中的类与结构体有如下相似点: 1.定义属性来存储值。 2.定义函数来提供功能。 3.通过定义下标语法使用下标的方式取值。 4.定义构造方法来对其进行初始化。 5.通过扩展来在原始基础上添加功能。 6.通过协议来定义实现标准。 当然类和结构体也有许多不同点,下面这些功能是类独有的,结构体没有: 1.通过继承来创建类的子类。 2.在运行时允许对类的实例进行类型的检查和解释。 3.析构方法可以释放被类引用的资源。 4.通过引用计数允许一个类实例的多处引用。 当开发者在代码中传递这些实例时,结构体总是被复制,而类则是被引用。这是结构体和类的最本质区别。 二、类与结构体的定义 类与结构体在定义语法上相似,示例代码如下: class MyClass { var name = "HS" var age = 25 } struct MyStruct { var param1:Int var param2:String } //创建类的实例 var obj1 = MyClass() //创建结构体的实例 所有结构体会默认生成一个逐个设置属性的构造方法 而类不会 var obj2 = MyStruct