swift学习笔记(4)--结构体和类
来源:互联网 发布:dnf时装软件 编辑:程序博客网 时间:2024/05/28 20:20
//类和结构体//相同点//1.类和结构体都可以定义属性和方法(这是和c oc中的结构体的最大区别)//2.类和结构体中都能定义构造器方法//不同点//1.类可以在析构体deinit中释放资源,结构体不可以//2.类可以继承.结构体是不能被继承//3.类是一个引用类型,一个实例可以有多个引用,操作的是实例的本身;结构体是值类型,将内容拷贝到新的内存中,操作的是一块新的内存
1.结构体
//结构体struct length{ var stat = 0.0 var end = 0.0 init(stat : Double , end : Double) { self.stat = stat self.end = end } func calculateLength() -> Double { return self.end - self.stat }}var len = length(stat: 30, end: 100)len.calculateLength()
2.类
//类class Car{ var carName = String?() var len : length! init(name : String){ self.carName = name } //析构器 , 当类的实例释放的时候可以释放资源 deinit { }}
3.值类型(结构体)与引用类型(类)
var car = Car(name:"BYD")car.len = length(stat:20 , end:700)car.len.stat//值类型,操作的是拷贝的内容var leng = car.lenleng.stat = 100car.len.statcar.carName//引用类型,操作的实例本身var car1 = carcar1.carName = "aoTuo"car.carName
4.属性
(1).存储属性,将常量或者变量作为实例的一部分使用
struct Point{ var x = 0.0 var y = 0.0}struct Size{ var width = 0.0 var height = 0.0}
(2).计算属性,提供一个get方法来获取值,也可以提供一个可选的set方法来设置值
struct Rect { var oraigon = Point() var size = Size() var center : Point{ get{ let centerX = size.width/2 + oraigon.x let centerY = size.height/2 + oraigon.y return Point(x: centerX, y: centerY) } set(newCenter){ oraigon.x = newCenter.x - size.width/2 oraigon.y = newCenter.y - size.height/2 } }}var rect = Rect()rect.oraigon.x = 10rect.oraigon.y = 10rect.size.width = 100rect.size.height = 100rect.center.xrect.center.yrect.center = Point(x: 100, y: 100)rect.oraigon.x
(3).类型属性
class Stu{ class var age : Int{ return 29 } var name : String! var type : String! init(name : String , type : String){ self.name = name self.type = type } func printName() -> String{ return self.name }//类的类型和方法,用class关键字声明 class func printAge() -> Int{ return self.age }}Stu.printAge()var stu = Stu(name: "hanlei", type: "213")stu.printName()Stu.age
5.类的继承
class St : Stu{ //重写父类方法,方法前加override关键字 override func printName() -> String{ return self.name } override init(name: String, type: String) { super.init(name: name, type: type) }}
0 0
- swift学习笔记(4)--结构体和类
- 类和结构体—Swift学习笔记(十二)
- 【Swift】学习笔记(八)——类和结构体
- Swift学习笔记(七)类和结构体
- Swift学习笔记—— 类和结构体
- [Swift]:快速学习笔记3 类和结构体
- swift 学习笔记(21)-类和结构体
- swift学习笔记(9)-结构体和类
- 学习Swift笔记 (十)Swift的类和结构
- 学习Swift笔记 (十三)Swift的类和结构
- Swift笔记:类和结构体
- swift基础笔记4-类和结构体
- Swift学习(类和结构体)
- Swift学习(类和结构体补充)
- Swift 基础学习(结构体和类)
- Swift学习:2.9 类和结构体
- iOS学习笔记44-Swift(四)枚举和结构体
- iOS学习笔记44-Swift(四)枚举和结构体
- 今天看了那么点Json
- Executor线程池的几种用法
- 零基础学习openstack【初级篇】
- vector用法
- 测试用例设计的完整过程
- swift学习笔记(4)--结构体和类
- [喝茶] 周作人
- 配置环境变量java
- View中与测量有关的一些方法
- Transferring Color to Greyscale Images
- HDU 2149 Public Sale(巴什博奕)
- mongoDB——java操作mongoDB实现文件上传下载
- IO(七、)复制文件第二种方式
- phonegap安装 环境搭建与配置详解( 完整版 提供下载地址)