Swift 类 方法 声明和重写

定义在类型本身上调用的方法,这种方法就叫做类型方法。

1.在方法的func关键字之前加上关键字static,来指定类型方法。
2.类还可以用关键字class来允许子类重写父类的方法实现。
class Father {
  static func eat() {
        print("eat")
  }
    class func sleep() {
        print("sleep")
    }
}
print("==============================")
Father.eat()
Father.sleep()
class Son :Father {

    override class func sleep() {
        print("son sleep")
    }
}
Son.sleep()

不能在子类重写 eat()类方法

    override static func eat(){
        print("son eat")
    }

类只能用 用关键字class来允许 子类重写父类的方法实现。

另外:

通过把方法,属性或下标标记为final来防止它们被重写,只需要在声明关键字前加上final修饰符即可(例如:final var,final func,final class func,以及final subscript)。

如果你重写了带有final标记的方法,属性或下标,在编译时会报错。
在类扩展中的方法,属性或下标也可以在扩展的定义里标记为 final 的。

你可以通过在关键字class前添加final修饰符(final class)来将整个类标记为 final 的。
这样的类是不可被继承的,试图继承这样的类会导致编译报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,497评论 2 4
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,202评论 1 10
  • 1、范型范型所解决的问题 函数、方法、类型:类,结构体,枚举,元组类型,协议参数,返回值,成员函数参数,成员属性类...
    我是小胡胡123阅读 945评论 0 1
  • 下标脚本 下标脚本 可以定义在类、结构体和枚举这些目标中,可以认为是访问集合(collection),列表(li...
    cht005288阅读 542评论 0 0
  • 基础部分(The Basics) 当推断浮点数的类型时,Swift 总是会选择Double而不是Float。 结合...
    gamper阅读 1,503评论 0 7

友情链接更多精彩内容