本文是學(xué)習(xí)《The Swift Programming Language》整理的相關(guān)隨筆韩肝,基本的語法不作介紹域滥,主要介紹Swift中的一些特性或者與OC差異點映九。
系列文章:
- Swift4 基礎(chǔ)部分:The Basics
- Swift4 基礎(chǔ)部分:Basic Operators
- Swift4 基礎(chǔ)部分:Strings and Characters
- Swift4 基礎(chǔ)部分:Collection Types
- Swift4 基礎(chǔ)部分:Control Flow
- Swift4 基礎(chǔ)部分:Functions
- Swift4 基礎(chǔ)部分:Closures
- Swift4 基礎(chǔ)部分: Enumerations
- Swift4 基礎(chǔ)部分: Classes and Structures
- Swift4 基礎(chǔ)部分: Properties
- Swift4 基礎(chǔ)部分: Methods
- Swift4 基礎(chǔ)部分: Subscripts
Swift中類的繼承沒什么特殊要講解的迅耘,了解如下兩點的特性即可:
- 子類可以重寫的方式實現(xiàn)自己的實例方法酗电,類方法,實例屬性典徊,或下標腳本杭煎。如果要重寫某個特性,需要在重寫定義的前面加上override關(guān)鍵字卒落。
- 可以使用final修飾符來防止實例方法羡铲,類方法,實例屬性导绷,或下標腳本被重寫犀勒,只需要在聲明關(guān)鍵字前加上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 關(guān)鍵字說明是子類重寫
override var description: String {
return "I'm student. name \(name) age \(age)"
}
}
var person = Person();
person.name = "xz";
person.age = 20;
print(person.description);
執(zhí)行結(jié)果:
I'm persion. name Optional("xz") age Optional(20)
I'm student. name Optional("xsc") age Optional(20)