Swift 继承

Swift 继承

在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

在这里,使用名为StudentDetails的类定义了一个基类,其中包含学生的姓名和三个科目的成绩,分别是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关键字的使用

‘super’关键字用作前缀,以访问在超类中声明的方法、属性和下标。

覆盖 可以访问方法、属性和下标
方法 super.somemethod()
属性 super.someProperty()
下标 super[someIndex]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程