Swift4 基础部分: Inheritance

本文是学习《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)

你可能感兴趣的:(Swift4 基础部分: Inheritance)