class Person{
var name:String=""
var age:UInt=0
var printPerson:String{
return name
}
init(name:String,age:UInt){
self.name=name
self.age=age
}
func aFunc(){
}
class func aStaticFunc(){
}
}
class Child:Person{
var height:UInt=0
override var name:String{
willSet{
println("will set")
}
didSet{
println("did set")
}
}
override var age:UInt{
get{
return super.age
}
set{
super.age=newValue>0 ? newValue:0
}
}
override var printPerson:String{
if super.age>20{
return super.name
}else{
return "override var printPerson"
}
}
init(name:String,age:UInt){
self.height=0
super.init(name:name,age:age)
super.age=4 // 等价于 self.age=4
}
convenience init(height:UInt){
self.init(name: "",age: 0)
}
override func aFunc(){ //重写方法
}
override class func aStaticFunc(){ //重写静态方法
}
}
//属性重写可以为父类储存属性重写观察者属性,也可以将父类的存储属性在子类中以计算属性体现
//对于继承过来储存属性,子类只能进行计算,存储在父类那里
//在类以及类的属性、方法前面标注 final,时,表示这个类或者类的属性、方法,不能被重写