Swift 基础学习(结构体和类)
来源:互联网 发布:淘宝合在一起卖 编辑:程序博客网 时间:2024/05/15 11:44
/*Swift结构体和类的初步(1)结构体定义(2)结构体实例和属性访问(3)结构体的构造器(4)给结构体加上方法(5)结构体是指引用(6)类定义(7)类和结构体的比较(8)类是引用类型(9)恒等运算符*///(1)定义一个结构体//struct+结构体名struct Rect { var width: Double; var height: Double}//(2)结构体实例和属性访问struct Rect1 { var width: Double = 10.0 var height: Double = 10.0}//声明Rect1的对象(或者说是实例),方法为:类的名称+()var rect: Rect1 = Rect1()//访问结构体里面的变量类似于点语法print("\(rect.width),\(rect.height)")rect.height = 103rect.width = 102print("\(rect.width),\(rect.height)")//(3)结构体逐一成员构造器//Rect1相当于函数名称,后面即为函数的参数,成员变量顺序必须一致,而且还必须包含所有的成员,否则会报错var rect1: Rect1 = Rect1(width: 9, height: 20)//(4)给结构体加上方法struct Rect2 { var width: Double = 10.0 var height: Double = 10.0 //成员方法可以访问使用成员属性 func getWidth() -> Double { return width } func show() { print("width = \(width),height = \(height)") }}var rect2: Rect2 = Rect2(width: 9, height: 20)//成员方法的调用语法 对象.方法()rect2.getWidth()print(rect2.getWidth())rect2.show()//(5)结构体的整体赋值var rect3 = rect2//假设两种情况:(1)rect3跟rect2指向同一块内存,(2)rect2跟rect3是两个不同的实例,但是内容一致rect2.width = 99rect2.show()//通过验证,rect2和rect3是两个不同的实例rect3.show()//(6)类定义/*class 类名称 {}*///我们将上面定义的结构体关键字改为class即可class Rect4 { var width: Double = 10.0 var height: Double = 10.0 //成员方法可以访问使用成员属性 func getWidth() -> Double { return width } func show() { print("width = \(width),height = \(height)") }}var rect4: Rect4 = Rect4()//Rect4(width: 9, height: 20)rect4.show()//(7&8)最大不同点:当是类的时候,类对象赋值不会引起拷贝的操作,而是rect5引用了rect4指向同一块内存;类是引用类型var rect5 = rect4rect4.width = 999rect4.show()rect5.show()//(9)恒等运算符// === !== 用于判断两个或多个对象是否指向同一个类的实例if rect4 === rect5 { print("equal")}
0 0
- Swift 基础学习(结构体和类)
- Swift 基础 ---类和结构体
- Swift基础 结构体和类
- Swift基础语法: 25 - Swift的类和结构体
- Swift学习(类和结构体)
- Swift学习(类和结构体补充)
- Swift学习:2.9 类和结构体
- swift基础学习(04)[闭包、函数、枚举、类和结构体]
- swift基础笔记4-类和结构体
- Swift基础(五):类和结构体
- Swift语法基础:5 - Swift的枚举和结构体
- swift 类和结构体
- Swift结构体和类
- swift 类和结构体
- Swift类和结构体
- Swift-类和结构体
- Swift类和结构体
- Swift-类和结构体
- linux常见命令
- android存储
- 虚拟机安装Ubuntu不能全屏解决方法
- alsa之dapm笔记
- linux c 获取屏幕分辨率程序
- Swift 基础学习(结构体和类)
- HDU2112 HDU Today(关于最短路和map)
- [BZOJ 3752]Hack
- c++ 访问者模式
- 一道字符输入/输出的问题
- Win7下配置php运行环境
- 航模项目流程 3 ——Layout
- 浏览器输入一个URL地址后发生的事情
- HSI颜色空间及其应用