类
class person { var name="张三" var age=21 //方法
//可以定义类型方法,分别使用static
和class
关键字定义
//区别:class修饰的表示子类是可以重写这些静态成员
//存储属性,只能用static,计算属性两个关键字都可以
func Add(a:Int,b:Int)->Int { return a+b }
init() { print("构造函数") } deinit { print("析构函数") } //属性: //1、计算属性(get ,set): //必须以var声明,willSet参数默认是newValue,didSet参数默认是oldValue //只读属性 var address:String { get { return "sfgjhs" } //不能只有set,可以只有get。只有get的时候,表示只读计算属性,可以简写 set { } } //2、存储属性 //属性观察器:可以根据属性值的变化做出响应,当代码尝试修改属性的值时就会被条用,主要有两种: willSet:设置属性前被调用; didSet:设置属性后被调用: var qq:String="dd" { willSet{ print(newValue) } didSet(old){ print(old) } } //下标 subscript,可以有多个参数 var images = [1,2,3,4] subscript(index: Int) ->Int { get{ return images[index] } set{ images[index] = newValue } } func getImage(index: Int)->Int { return images[index] } } var p=person() p.name //张三 p.Add(2, b: 4) //6 p.qq //dd p.getImage(0) //1 p[0] //1 p[0]=100 //100 p[0] //100
原文:http://www.cnblogs.com/loveee-1314/p/4972823.html