继承只能是类继承,结构体和枚举不能继承。
一个类可以继承另一个类的方法、属性、下标等特征。
子类可以通过 override 关键字 来重写父类的方法、属性、下标等。
class Person {
var name = String()
var age = 0
var description:String {
return "\(name) 年龄是: \(age)"
}
func work(){}
}
class Man:Person{
//重写父类的属性
override var description:String {
return super.description+",身高180"
}
//重写父类的方法
override func work() {
print("程序猿")
}
}
var man = Man()
man.name = "张三"
man.age = 22
print(man.description)
man.work()
//张三 年龄是: 22,身高180
//程序猿
子类 通过 super 前缀 来访问父类的方法、属性和下标。
属性的重写,主要是对get 和 set 访问器的重写。
final关键字
final 关键字用来防止重写,它所修饰的属性、方法和下标不能被重写。
所修饰的类不能被继承