Swift2.0 类基础知识
来源:互联网 发布:mac pretty boy限量 编辑:程序博客网 时间:2024/06/02 20:41
类
类属性
//// SomeClass.swift// SwiftClass//// Created by 张杰 on 15/6/17.// Copyright © 2015年 张杰. All rights reserved.//import Foundationclass SomeClass{ //存储属性 var value1 = 1; var value2:Int = 2; //计算属性 var cal:Int{ get{ return value2 } set(newValue){ value2 = newValue } } //类属性,只能通过类访问,不能通过对象访问 class var newValue:Int{ return 29; } var teachers:Int = 0 { //属性监控器 willSet(newTeachers){ print("老师变化了\(newTeachers) 位") } didSet(old) { if teachers > old { print("与原来相比增加了\(teachers - old) 位老师") } else { print("与原来相比减少了\(old - teachers) 位老师") } } }}
//// main.swift// SwiftClass//// Created by 张杰 on 15/6/17.// Copyright © 2015年 张杰. All rights reserved.//import Foundationvar someClass = SomeClass()//测试存储属性print("测试存储属性")print(someClass.value1)print(someClass.value2)//测试计算属性print("测试计算属性")print(someClass.cal)someClass.cal = 20print(someClass.cal)//测试类属性print("测试类属性")print(SomeClass.newValue)//测试属性监控器print("测试属性监控器")someClass.teachers = 3
测试存储属性12测试计算属性220测试类属性29测试属性监控器老师变化了3 位与原来相比增加了3 位老师Program ended with exit code: 0
方法
//// ClassMethod.swift// SwiftClass//// Created by 张杰 on 15/6/17.// Copyright © 2015年 张杰. All rights reserved.//import Foundationclass ClassMethod { var score = 0 //实例方法 //不带参数的函数 func additive(){ score++ print("\(score)\n") } //带参数的函数 func subtraction(amount: Int){ score -= amount print("\(score)\n") } //类方法 class func betterScore() { print("你获得有史以来最好的成绩\n") } //局部变量好存储变量同名的解决方法 func printScore() { let score: Int = 50 print("局部变量:\(score)") print("全局变量:\(self.score) \n") }}class NewClassMethod: ClassMethod { override class func betterScore() { print("子类,重写了类方法\n") } override func additive() { score += 3 print("子类,重新了实例方法\n") }}
//// main.swift// SwiftClass//// Created by 张杰 on 15/6/17.// Copyright © 2015年 张杰. All rights reserved.//import Foundationvar classMethod = ClassMethod()//测试实例方法//测试无参方法print("测试无参方法")classMethod.additive()//测试带参方法print("测试带参方法")classMethod.subtraction(10)//测试类方法print("测试类方法")ClassMethod.betterScore()//局部变量好存储变量同名的解决方法print("局部变量好存储变量同名的解决方法")classMethod.printScore()//测试重写父类方法var newClassMethod = NewClassMethod()//测试调用父类方法print("测试调用父类方法")newClassMethod.subtraction(20)//测试重新父类实例方法print("测试重新父类实例方法")newClassMethod.additive()//测试重新父类方法print("测试重新父类方法")NewClassMethod.betterScore()
测试无参方法1测试带参方法-9测试类方法你获得有史以来最好的成绩局部变量好存储变量同名的解决方法局部变量:50全局变量:-9 测试调用父类方法-20测试重新父类实例方法子类,重新了实例方法测试重新父类方法子类,重写了类方法Program ended with exit code: 0
下标脚本
//// ClassSubScript.swift// SwiftClass//// Created by 张杰 on 15/6/18.// Copyright © 2015年 张杰. All rights reserved.//import Foundationclass Experience { var age:[Int] = Array(count: 5, repeatedValue: 0) //下标脚本 subscript(index:Int) -> Int { //可读 get{ return age[index] } //可写 set{ age[index] = newValue } } }
import Foundationvar ex = Experience()ex[0] = 5ex[1] = 6print(ex[0])print(ex[1])
56Program ended with exit code: 0
0 0
- Swift2.0 类基础知识
- swift2.0基础知识
- swift2.0
- swift2.0 通过类名创建UIViewController
- swift2.0文档
- Swift2.0初见笔记
- swift2.0 之 关键字
- Swift2.0新特性
- Swift2.0 对比 C++
- Swift2.0推送
- swift2.0 - study
- swift2.0中文文档
- swift2.0异常处理
- Swift2.0笔记1
- Swift2.0 基本语法
- swift2.0笔记2
- swift2.0笔记3
- Swift2.0:数据类型笔记
- OpenCV4Android 特征点提取演示
- j2se学习笔记-IO_1
- Leetcode—Contains Duplicate II—Python
- javaweb中乱码的问题
- 32位与64位下各类型长度对比
- Swift2.0 类基础知识
- 沃颜
- Service完全解析
- 项目杂记一
- 我的第一篇博客
- 软件架构之-架构视图
- 【自用】 memset对于int、long long、float、double 的极值怎么清
- JVM参数设置、分析及实例
- EularProject 29: a^b的归并排序问题