类
类属性
// // SomeClass.swift // SwiftClass // // Created by 张杰 on 15/6/17. // copyright © 2015年 张杰. All rights reserved. // import Foundation class 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 Foundation var someClass = SomeClass() //测试存储属性 print("测试存储属性") print(someClass.value1) print(someClass.value2) //测试计算属性 print("测试计算属性") print(someClass.cal) someClass.cal = 20 print(someClass.cal) //测试类属性 print("测试类属性") print(SomeClass.newValue) //测试属性监控器 print("测试属性监控器") someClass.teachers = 3
测试存储属性 1 2 测试计算属性 2 20 测试类属性 29 测试属性监控器 老师变化了3 位 与原来相比增加了3 位老师 Program ended with exit code: 0
方法
// // ClassMethod.swift // SwiftClass // // Created by 张杰 on 15/6/17. // copyright © 2015年 张杰. All rights reserved. // import Foundation class 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 Foundation var 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 Foundation class Experience { var age:[Int] = Array(count: 5,repeatedValue: 0) //下标脚本 subscript(index:Int) -> Int { //可读 get{ return age[index] } //可写 set{ age[index] = newValue } } }
import Foundation var ex = Experience() ex[0] = 5 ex[1] = 6 print(ex[0]) print(ex[1])
5 6 Program ended with exit code: 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。