一、概述
二、繼承
◆ 使用關鍵字 extends 繼承一個類
◆子類會繼承父類可見的屬性和方法,不會繼承構造方法
◆子類能夠複寫父類的方法、getter 和 setter
◆單繼承、多態性
三、繼承中的構造方法
1、繼承中的構造方法
◆子類的構造方法默認會調用父類的無名無參構造方法
◆如果父類沒有無名無參構造方法,則需要顯示調用父類構造方法
◆在構造方法參數後使用 : 顯示調用父類構造方法
2、構造方法執行順序
◆父類的構造方法在子類構造方法體開始執行的位置調用
◆如果有初始化列表,初始化列表會在父類構造方法之前執行
四、抽象類
◆抽象類使用 abstract 表示,不能直接被實例化
◆抽象方法不用 abstract 修飾,無實現
◆抽象類可以沒有抽象方法
◆有抽象方法的類一定得聲明爲抽象類
五、接口
◆ 類和接口是統一的,類就是接口
◆ 每個類都隱式的定義了一個包含所有實例成員的接口
◆如果是複用已有類的實現,使用繼承(extends)
◆如果只是使用已有類的外在行爲,使用接口(implements)
六、Mixins(多繼承)
◆dart 是單繼承的,爲了實現多繼承,使用Mixins
◆Mixin類似於多繼承,是在多類繼承中重用一個類代碼的方式
◆作爲Mixins的類不能有顯示聲明構造方法
◆作爲Mixin的類只能繼承自Object
◆使用關鍵字 with 連接一個或多個mixin
七、操作符覆寫
◆ 覆寫操作符需要再類中定義
◆ 可覆寫的操作符