case 0...2:
return "Baby"
case 2...12:
return "Child"
case 13...19:
return "Teenager"
case let x where x > 65:
return "Elderly"
default:
return "Normal"
}
}
}
协议继承
Swift 允许协议继承其定义的属性的属性。它类似于类的继承,但用逗号分隔列举选择多个继承协议。
复制代码
protocol classa {
var no1: Int { get set }
func calc(sum: Int)
}
protocol result {
func print(target: classa)
}
class student2: result {
func print(target: classa) {
target.calc(1)
}
}
class classb: result {
func print(target: classa) {
target.calc(5)
}
}
class student: classa {
var no1: Int = 10
func calc(sum: Int) {
no1 -= sum
println("Student attempted (sum) times to pass")
if no1 <= 0 {
println("Student is absent for exam")
}
}
}
class Player {
var stmark: result!
init(stmark: result) {
self.stmark = stmark
}
func print(target: classa) {
stmark.print(target)
}
}
var marks = Player(stmark: student2())
var marksec = student()
marks.print(marksec)
marks.print(marksec)
marks.print(marksec)
marks.stmark = classb()








