Swift 类 方法 声明和重写

2017-09-06  本文已影响134人  json_jie

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

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 的。
这样的类是不可被继承的,试图继承这样的类会导致编译报错。

上一篇下一篇

猜你喜欢

热点阅读