//练习1-3//多态性classStudent{
var name = ""var age = 0var id = ""var basicInfo : String {
return"\(name) is \(age) years old, the id is \(id)"
}
funcchooseClass(){
print("\(name) choose a class.")
}
funchaveClass(){
print("\(name) have a class.")
}
}
classGraduate : Student{
var supervisor = ""var researchTopic = ""overridevar age : Int {
didSet {
print("age is set from \(oldValue) to \(age)")
}
willSet {
print("original age will be set to \(newValue)")
}
}
overridevar basicInfo: String{
returnsuper.basicInfo + ", supervisor is \(supervisor), research topic is \(researchTopic)"
}
funcchooseSuperVisor(superVisor:String){
self.supervisor = superVisor
}
overridefuncchooseClass() {
print("graduate \(name) choose a class")
}
}
funcsportGameRoster(stu:Student)->String{
return"Athlete name:\(stu.name),age:\(stu.age),id:\(stu.id)"
}
let studenteTom=Student()
studenteTom.name="Tom"
studenteTom.age=19
studenteTom.id="37060116"let graduateJim=Graduate()
graduateJim.name="Jim"
graduateJim.age=24
graduateJim.id="SY060218"let rosterTom=sportGameRoster(stu: studenteTom)
let rosterJim=sportGameRoster(stu: graduateJim)