Swift4 基础部分: Inheritance

本文是学习《The Swift Programming Language》整理的相关随笔,基本的语法不作介绍,主要介绍Swift中的一些特性或者与OC差异点。

系列文章:

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,896评论 1 10
  • Swift属性 Swift属性将值跟特定的类,结构体,枚举关联。分为存储属性和计算属性,通常用于特定类型的实例。属...
    小小厨师阅读 875评论 0 0
  • 下标脚本 下标脚本 可以定义在类、结构体和枚举这些目标中,可以认为是访问集合(collection),列表(li...
    cht005288阅读 464评论 0 0
  • 常量与变量使用let来声明常量,使用var来声明变量。声明的同时赋值的话,编译器会自动推断类型。值永远不会被隐式转...
    莫_名阅读 467评论 0 1
  • 1、随机数 不需要随机数种子 arc4random()%N + begin:产生begin~begin+N的随机数...
    我是小胡胡123阅读 4,231评论 0 2