Swift学习 结构体、枚举、类三者的对比
来源:互联网 发布:淘宝分析软件 编辑:程序博客网 时间:2024/05/16 14:30
为什么会把结构体放在类之后再讲呢?主要是因为在Swift中结构体和类的相同之处远远超过他们之间的不同之处。
一、结构体和类之间的关系
1、定义: 结构体是有0个或多个相同或者不同的数据组合而成的数据集合,其中的数据或者方法被称为他的成员或成员方法。
2、格式
struct name:<:protocal>{
var 成员1:数据类型
var 成员2:数据类型
….
}
3、注意事项:
(1) 结构体是值类型,其 实例将会被赋予变量或者常量和被函数调用时被复制
(2) 结构体中的成员可以包括属性、类型别名、数组、其他结构体和枚举声明
(3) 结构体声明不能包含析构器或者协议声明,但是可以包括任意协议的实现,不能继承类、枚举、其他结构体
4、一些运用
4.1 结构体的一些运用
4.2 结构体和类区别的体现
结构体
类
从上面的运行结果可以看出:对于结构体,新赋值不会改变原有的值,对于类,新赋值会改变原有的值。从而可以得出两个的不同之处:
(1)类的对象是引用类型,而结构体是值类型
(2)我们可以让一个类的实例来反初始化,使之释放存储空间,但是结构体做不到
(3)在数据结构的扩展和继承方面,类更加强大(结构体不能继承也不能被继承)
总结:
1、类和结构体的共同点
(1)都可以定义一些赋值的属性。属性的类型和写法大部分相同,当然也有不同,例如类型属性的写法,在类中用class前缀,在结构体中用static前缀修饰
(2)都可以定义具有功能性的方法,这个上面讲到的属性是一致的
(3)都可以定义初始化方法来设置初始状态,初始化属性
2、类和结构体的不同点
(1)类的对象是引用类型,而结构体是值类型
(2)我们可以让一个类的实例来反初始化,使之释放存储空间,但是结构体做不到
(3)在数据结构的扩展和继承方面,类更加强大(结构体不能继承也不能被继承)
3、类和结构体之间的联系
前面有讲到类的类型属性,修改可以通过带有静态变量的结构体进行”曲线修改”,从而解决类型属性的值设置问题。
二、枚举和类、结构体之间的关系
1、枚举的定义: 枚举是一种自定义的数据类型,一个枚举通常包含多个枚举成员,计算属性、类型别名、甚至其他枚举、结构体和类。在枚举声明中,每一个事件块都由一个case关键字开始,后面紧接着一个或者多个以逗号分隔的枚举成员。每一个枚举值都是常量。
2、声明:
enum enumeration name{
case enimeration case1 case enumeration case2 。。。
}
3、关于枚举的一些运用
3.1 枚举声明成功后,成员并不会被赋初始值,如果此时访问枚举的成员,会报错。
3.2 带初始值的枚举声明
3.2 在枚举中定义方法
总结:枚举同类和结构体的对比
(1) 枚举没有属性、每一个枚举值都是常量
(2)枚举定义的方法,也只能基于本身值的操作,无法定义一些无关属性和操作.
(3)枚举和结构体是值类型,类是引用类型(值传引)。
- Swift学习 结构体、枚举、类三者的对比
- Swift语法基础:5 - Swift的枚举和结构体
- Swift 的学习(枚举)
- swift 枚举和结构体
- Swift-枚举和结构体
- Swift枚举和结构体
- Swift 枚举和结构体
- Swift-枚举、结构体、类
- Swift语言学习4--枚举和结构体
- Swift 学习之枚举和结构体—003
- Swift学习小结之枚举和结构体
- Swift2学习:Swift概览5-枚举和结构体
- Swift学习之路 -- 枚举和结构体
- iOS学习笔记44-Swift(四)枚举和结构体
- iOS学习笔记44-Swift(四)枚举和结构体
- Swift 学习笔记 [2] 类 结构体 枚举
- Swift 系统学习 22 分析错误的三个阶段 (枚举和结构体相关)
- Swift学习笔记 -- 枚举和结构
- Java基础(3):文件输入输出
- pat原理以及ospf 的相关知识
- windows 多线程编程 之 线程创建
- Java基础---IO(二)--Properties类、打印流、序列流、对象操作流、数据输入输出流
- Android中View的绘制流程详解
- Swift学习 结构体、枚举、类三者的对比
- 欢迎使用CSDN-markdown编辑器
- VS2010设置全局Include和Lib目录
- iframe与主框架跨域相互访问方法
- Web Animations
- 在spring中使用junit测试
- Ubuntu下安装ss客户端
- Shiro系列之Shiro+Mysql实现用户授权(Authorization)
- C#学习之操作excel表格