📅  最后修改于: 2021-01-11 07:57:13             🧑  作者: Mango
在Swift编程语言中,一个类可以从另一个类继承属性,方法和其他特征。将这些属性和属性从一个类继承到另一类称为继承。
子类:从其他类继承属性的类称为子类或子类。
超类:子类继承属性的主类称为父类或超类。
Swift4类由超类组成,该超类调用和访问方法,属性,函数和覆盖方法。属性观察器用于添加属性以及修改存储和计算的属性方法。
class class_name: Superclass_name
{
// Definition of the class
}
基类是不从另一个类继承方法,属性或函数的类。
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
在此,将具有“学生详细信息”的类名的类定义为包含学生姓名和三个标记为mark1,mark2和mark3的基类。关键字'let'用于初始化基类的值,并使用'print'函数显示基类的值。
子类继承其基类的属性,方法和功能。要定义子类,请在基类名称之前使用“:”。
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
覆盖用于访问超类实例,类型方法,实例,类型属性和下标。它使用关键字“ override”来覆盖超类中声明的方法。
“ super”关键字用作访问在超类中声明的方法,属性和下标的前缀。
Overriding | Access to methods,properties and subscripts |
Methods | super.somemethod() |
Properties | super.someProperty() |
Subscripts | super[someIndex] |