Swift 繼承
在Swift編程語言中,一個類可以繼承另一個類的屬性、方法和其他特性。愛掏網 - it200.com將這些屬性和特性從一個類繼承到另一個類被稱為繼承。愛掏網 - it200.com
子類: 繼承其他類的屬性的類被稱為子類或派生類。愛掏網 - it200.com
超類: 從中子類繼承屬性的主類被稱為父類或超類。愛掏網 - it200.com
Swift4類包括調用和訪問方法、屬性、函數和重載方法的超類。愛掏網 - it200.com屬性觀察者用于添加屬性和修改存儲和計算屬性的方法。愛掏網 - it200.com
語法
class class_name: Superclass_name
{
// Definition of the class
}
基類
基類是一個不從其他類繼承方法、屬性或函數的類。愛掏網 - it200.com
示例
class StudentDetails {
var stname: String!
var mark1: Int!
var mark2: Int!
var mark3: Int!
init(stname: String, mark1: Int, mark2: Int, mark3: Int) {
self.stname = stname
self.mark1 = mark1
self.mark2 = mark2
self.mark3 = mark3
}
}
let stname = "Aryan"
let mark1 = 70
let mark2 = 80
let mark3 = 85
print(stname)
print(mark1)
print(mark2)
print(mark3)
輸出:
Aryan
70
80
在這里,使用名為StudentDetails的類定義了一個基類,其中包含學生的姓名和三個科目的成績,分別是mark1、mark2和mark3。愛掏網 - it200.com關鍵字’let’用于初始化基類的值,并使用’print’函數顯示基類的值。愛掏網 - it200.com
子類
子類繼承其基類的屬性、方法和函數。愛掏網 - it200.com要定義一個子類,在基類名稱之前使用’:’。愛掏網 - it200.com
示例
class Person {
var firstName: String
var lastName: String
let birthPlace: String
init(birthPlace: String) {
self.birthPlace = birthPlace
}
}
class Student: Person
{
var school: String
}
let student = Student(birthPlace: "India")
student.lastName = "Head"
student.firstName = "Travis"
print(student.birthPlace)
print(student.firstName)
print(student.lastName)
輸出:
India
Travis
Head
覆蓋
覆蓋用于訪問超類的實例、類型方法、實例、類型屬性和下標。愛掏網 - it200.com它使用關鍵字’override’來覆蓋在超類中聲明的方法。愛掏網 - it200.com
super關鍵字的使用
‘super’關鍵字用作前綴,以訪問在超類中聲明的方法、屬性和下標。愛掏網 - it200.com
覆蓋 | 可以訪問方法、屬性和下標 |
---|---|
方法 | super.somemethod() |
屬性 | super.someProperty() |
下標 | super[someIndex] |
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。