Swift2.0 类基础知识
发布时间:2020-12-14 04:23:51 所属栏目:百科 来源:网络整理
导读:类 类属性 //// 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{ retu
类类属性// // 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |