13:swift-继承

 

 

正文

/*
 1: 类也可以向继承的属性添加属性观察器,以便在属性的值改变时得到通知.
 
 2: 重写父类的方法: override 关键字, 可以重写属性和方法
 
 3:阻止重写 final关键字
 
 */
import UIKit

class Herbit13VC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        
    }
}


class SuperA {
    var a = 10;
    func testSuperClassFunc() {
        print("SuperA")
    }
    
    // 3:阻止重写
    final func testSuperClassFuncB() {
        print("SuperA")
    }
}

class SubClassA: SuperA {
    
    
    // 2: 重写方法
    override func testSuperClassFunc() {
        print("SubClassA")
    }
    
    /*
     你可以通过标记为终点来阻止一个方法、属性或者下标脚本被重写。通过在方法、属性或者下标脚本的关键字前写 final 修饰符(比如 final var , final func , final class func , final subscript )。

     任何在子类里重写终点方法、属性或下标脚本的尝试都会被报告为编译时错误。你在扩展中添加到类的方法、属性或下标脚本也可以在扩展的定义里被标记为终点。

     你可以通过在类定义中在 class 关键字前面写 final 修饰符( final class )标记一整个类为终点。任何想要从终点类创建子类的行为都会被报告一个编译时错误。
     */
//    override func testSuperClassFuncB() {
//
//    }
}

 

posted on 2023-03-08 10:38  风zk  阅读(12)  评论(0编辑  收藏  举报

导航