Swift4 基础部分: Inheritance
2017-08-12 本文已影响71人
Arnold134777
本文是学习《The Swift Programming Language》整理的相关随笔,基本的语法不作介绍,主要介绍Swift中的一些特性或者与OC差异点。
系列文章:
- Swift4 基础部分:The Basics
- Swift4 基础部分:Basic Operators
- Swift4 基础部分:Strings and Characters
- Swift4 基础部分:Collection Types
- Swift4 基础部分:Control Flow
- Swift4 基础部分:Functions
- Swift4 基础部分:Closures
- Swift4 基础部分: Enumerations
- Swift4 基础部分: Classes and Structures
- Swift4 基础部分: Properties
- Swift4 基础部分: Methods
- Swift4 基础部分: Subscripts
Swift中类的继承没什么特殊要讲解的,了解如下两点的特性即可:
- 子类可以重写的方式实现自己的实例方法,类方法,实例属性,或下标脚本。如果要重写某个特性,需要在重写定义的前面加上override关键字。
- 可以使用final修饰符来防止实例方法,类方法,实例属性,或下标脚本被重写,只需要在声明关键字前加上final特性即可。(例如:final var, final func, final class func, 以及 final subscript)
直接通过一个完整的例子了解一下基本使用:
class Person {
// 1.final修饰为防止子类重写,也可以修饰方法
final var name:String?;
final var age:Int?;
var description: String {
return "I'm persion. name \(name) age \(age)"
}
}
class Student:Person{
// 2.override 关键字说明是子类重写
override var description: String {
return "I'm student. name \(name) age \(age)"
}
}
var person = Person();
person.name = "xz";
person.age = 20;
print(person.description);
执行结果:
I'm persion. name Optional("xz") age Optional(20)
I'm student. name Optional("xsc") age Optional(20)