标签:
class Student : NSObject {
// 定义属性
// 存储属性
var age : Int = 0
var name : String?
var chineseScore : Double = 0.0
var mathScore : Double = 0.0
}
// 创建学生对象
let stu = Student()
// 给存储属性赋值
stu.age = 10
stu.name = "why"
stu.chineseScore = 89.0
stu.mathScore = 98.0
一般
只提供getter方法class Student : NSObject {
// 定义属性
// 存储属性
var age : Int = 0
var name : String?
var chineseScore : Double = 0.0
var mathScore : Double = 0.0
// 计算属性
var averageScore : Double {
get {
return (chineseScore + mathScore) / 2
}
// 没有意义,因为之后获取值时依然是计算得到的
// newValue是系统分配的变量名,内部存储着新值
set {
self.averageScore = newValue
}
}
}
// 获取计算属性的值
print(stu.averageScore)
class Student : NSObject {
// 定义属性
// 存储属性
var age : Int = 0
var name : String?
var chineseScore : Double = 0.0
var mathScore : Double = 0.0
// 计算属性
var averageScore : Double {
get {
return (chineseScore + mathScore) / 2
}
// 没有意义.newValue是系统分配的变量名,内部存储着新值
set {
self.averageScore = newValue
}
}
// 类属性
static var corseCount : Int = 0
}
// 设置类属性的值
Student.corseCount = 3
// 取出类属性的值
print(Student.corseCount)
class Person : NSObject {
var name : String? {
// 可以给newValue自定义名称
willSet (new){ // 属性即将改变,还未改变时会调用的方法
// 在该方法中有一个默认的系统属性newValue,用于存储新值
print(name)
print(new)
}
// 可以给oldValue自定义名称
didSet (old) { // 属性值已经改变了,会调用的方法
// 在该方法中有一个默认的系统属性oldValue,用于存储旧值
print(name)
print(old)
}
}
var age : Int = 0
var height : Double = 0.0
}
let p : Person = Person()
// 在赋值时,监听该属性的改变
// 在OC中是通过重写set方法
// 在swift中,可以给属性添加监听器
p.name = "why"
//p.name = "yz"
import UIKit class Student: NSObject { // 定义属性 // 定义存储属性 var age : Int = 0 var name : String? var mathScore : Double = 0.0 var chineseScore : Double = 0.0 // 定义计算属性: 通过别的方式计算到结果的属性,称之为计算属性 var averageScore : Double { return (mathScore + chineseScore) * 0.5 } // 定义类属性: 类属性是和整个类相关的属性.而且是通过类名进行访问 static var courseCount : Int = 0 /* // 定义方法,可以返回平均成绩 func getAverageScore() -> Double { // 在swift开发中,如果使用当前对象的某一个属性,或者调用当前对象的某一个方法时,可以直接使用,不需要加self return (mathScore + chineseScore) * 0.5 } */ } // 给类属性进行赋值 Student.courseCount = 2 // 创建对象 let stu = Student() // 给对象的属性赋值 stu.age = 10 stu.name = "yz" stu.mathScore = 78 stu.chineseScore = 59.9 print(stu.age) if let name = stu.name { print(name) } let averageScore = stu.averageScore
标签:
原文地址:http://www.cnblogs.com/cqb-learner/p/5885365.html