swift Class和struct的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Class和struct的区别相关的知识,希望对你有一定的参考价值。

为了能早日开发自己的APP,因此重新学习Swift。

与其它编程语言所不同的是,Swift并不要求你为类和结构创建独立的借口和实现文件,系统会自动生成面向其它代码的外部接口。

类和结构体的共同点:

  • 定义属性用于存储值
  • 定义方法用于提供功能
  • 定义附属脚本用于访问值
  • 定义构造器用于初始化值

与结构体相比,类还有如下的附加功能:

  • 继承允许一个类继承另一个类的特征

1、构造器
构造器是创建一个具体类型实例的方法。最简单的构造器就是一个没有任何参数实例方法,写作init。

 

技术分享

2、自定义初始化
你可以根据输入的参数来自定义初始化过程和可选的属性类型,或者在初始化的时候修改静态属性。在这章节将会详细叙述。

初始化参数
你可以在构造器定义的时候提供一部分参数,在自定义初始化过程中定义变量的类型和名称。
初始化参和函数或者方法参数一样有着同样的功能

3、可选类型
如果你储存属性使用的是自定义的类型在逻辑上允许值为空-或者他们的值并不在构造器中初始化,或者他们被允许为空。可以定义一个可选类型的属性。可选类型属性是一个自动初始化值为nil,表示这个属性有意在构造器中设置为“空值”。

4、类的初始化和继承

一个类的所有存储属性-包括从父类继承而来的属性-都必须在初始化的时候设置初始值。

 5、值类型和引用类型

值类型?就是在赋值或给函数传递参数的时候,创建一个副本,把副本传递过去,这样在函数调用过程中不会影响到原始数据。

技术分享

引用类型?在传递参数的过程中,是把数据本身传递过去,这样在函数调用过程中会影响原始数据。

技术分享

 

以上是关于swift Class和struct的区别的主要内容,如果未能解决你的问题,请参考以下文章

Swift面试题

swift面试题

iOS面试题

值类型和引用类型的区别,struct和class的区别

Swift class和struct异同点

Struct和Class,值类型与引用类型(堆栈简单一提)