Swift继承Inheritance浅析介绍
什么是继承?
在Swift中,继承是一种实现代码重用的方法。子类可以继承父类的属性和方法,并且可以在此基础上添加自己的属性和方法。
如何定义一个继承关系?
在Swift中,通过在子类的类名后面加上父类的类名,来定义一个继承关系。下面是一个例子:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func introduction() {
print("我的名字是\(name),我今年\(age)岁。")
}
}
class Student: Person {
var school: String
init(name: String, age: Int, school: String) {
self.school = school
super.init(name: name, age: age)
}
override func introduction() {
print("我是\(school)的学生,我的名字是\(name),我今年\(age)岁。")
}
}
let john = Student(name: "John", age: 18, school: "ABC School")
john.introduction() // 输出:我是ABC School的学生,我的名字是John,我今年18岁。
在这个例子中,我们定义了一个Person类,它有两个属性:name和age,并且有一个introduction()方法。然后我们定义了一个Student类,它继承了Person类,并且添加了一个school属性。
在Student类的init方法中,我们使用super.init调用了父类Person的init方法,来初始化name和age属性。然后我们在Student类中重写了introduction()方法,来输出更加详细的信息。
如何访问父类的属性和方法?
在Swift中,可以使用super关键字来访问父类的属性和方法。下面是一个例子:
class Person {
var name: String
init(name: String) {
self.name = name
}
func introduction() {
print("我的名字是\(name)。")
}
}
class Student: Person {
var school: String
init(name: String, school: String) {
self.school = school
super.init(name: name)
}
override func introduction() {
super.introduction()
print("我在\(school)上学。")
}
}
let john = Student(name: "John", school: "ABC School")
john.introduction() // 输出:我的名字是John。我在ABC School上学。
在这个例子中,我们定义了一个Person类和一个Student类,和之前的例子类似。但是在Student类的introduction()方法中,我们使用了super关键字来调用父类Person的introduction()方法,并且在此基础上输出更加详细的信息。
总结
继承是一种实现代码重用的方法。在Swift中,可以通过在子类的类名后面加上父类的类名来定义一个继承关系。可以使用super关键字来访问父类的属性和方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Swift继承Inheritance浅析介绍 - Python技术站