美文网首页
Swift继承

Swift继承

作者: Lillian呆呆哒 | 来源:发表于2023-08-29 17:11 被阅读0次

继承是一种基础行为,将类与Swift中的其他类型区分开来。一个类可以从另一个类继承方法、属性和其他特征。当一个类从另一个类继承时,继承类被称为子类,它继承的类被称为其超类。在Swift中,类可以调用和访问超类的方法和属性、下标脚本,并且可以重写它们。也可以为类中继承来的属性添加属性观察器。

基类

没有继承其他类的类,称为基类。

定义一个基类计算和,例如:

子类

子类是将新类建立在现有类的基础上的行为。子类继承了现有类的特征,然后您可以细化这些特征。您还可以向子类添加新特征。

重写(Overriding)

子类可以通过继承来的实例方法,类方法,实例属性,或下标脚本来实现自己的定制功能,我们把这种行为叫重写(overriding)。

我们可以使用 override 关键字来实现重写。

访问超类的方法、属性及下标脚本,通过使用super前缀来访问超类的方法,属性或下标脚本。方法:super.somemethod(),属性:super.someProperty(),下标脚本:super[someIndex]

重写方法和属性

在子类中我们可以使用 override 关键字来重写超类的方法。

重写属性

你可以提供定制的 getter(或 setter)来重写任意继承来的属性,无论继承来的属性是存储型的还是计算型的属性。

子类并不知道继承来的属性是存储型的还是计算型的,它只知道继承来的属性会有一个名字和类型。所以你在重写一个属性时,必需将它的名字和类型都写出来。

注意点:

如果你在重写属性中提供了 setter,那么你也一定要提供 getter。

如果你不想在重写版本中的 getter 里修改继承来的属性值,你可以直接通过super.someProperty来返回继承来的值,其中someProperty是你要重写的属性的名字。

重写属性观察器

可以在属性重写中为一个继承来的属性添加属性观察器。这样一来,当继承来的属性值发生改变时,你就会监测到。

注意:不可以为继承来的常量存储型属性或继承来的只读计算型属性添加属性观察器。

防止重写

使用 final 关键字防止它们被重写。如果你重写了final方法,属性或下标脚本,在编译时会报错。也可以通过在关键字class前添加final特性(final class)来将整个类标记为 final 的,这样的类是不可被继承的,否则会报编译错误。

相关文章

  • OC Swift文件混编

    一.Swift 类可以继承 OC 类,OC 类不能继承 Swift 类。 二.Swift 和 OC 混编 三.两个...

  • oc 继承 swift 类

    oc 继承 swift 类 项目中使用 oc 继承 swift 类编译器报错: oc 继承前增加 objc_sub...

  • OC调用Swift

    OC调用Swift,Swift的类必须继承NSObject

  • Swift枚举高级用法(Enum)

    关于swift的枚举 一 swift对于枚举的扩展性(Enum) 枚举的继承(继承任何类和协议,目前除了swift...

  • 类继承

    继承是面向对象的重要特征之一。swift中的继承只能发生在类上,结构体和枚举不能继承。在swift中,一个类继承另...

  • Swift 5.x - 初始化(中文文档)

    引言 继续学习Swift文档,从上一章节:继承,我们学习了Swift继承相关的内容,如继承的作用、重写父类的方法和...

  • swift方法参数遵守多继承和遵守多个协议

    参数继承协议 OC中 id Swift 3 protocol Swift 4 A & B 文档

  • swift继承

    一个类可以继承另一个类的方法,属性和其它特性。当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类)。在 S...

  • Swift:继承

    中文文档 一个类可以继承另一个类的方法,属性和其它特性。当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类...

  • swift 继承

    继承 类可以从另一个类继承方法,属性和其他特性 当一个类继承自另一个类时,继承类为子类,它继承的类称为其超类 子类...

网友评论

      本文标题:Swift继承

      本文链接:https://www.haomeiwen.com/subject/zqonmdtx.html