dart學習(六)之面向對象編程二

一、概述

二、繼承

◆ 使用關鍵字 extends 繼承一個類

◆子類會繼承父類可見的屬性和方法,不會繼承構造方法

◆子類能夠複寫父類的方法、getter 和 setter

◆單繼承、多態性

三、繼承中的構造方法

1、繼承中的構造方法

◆子類的構造方法默認會調用父類的無名無參構造方法

◆如果父類沒有無名無參構造方法,則需要顯示調用父類構造方法

◆在構造方法參數後使用 : 顯示調用父類構造方法

2、構造方法執行順序

◆父類的構造方法在子類構造方法體開始執行的位置調用

◆如果有初始化列表,初始化列表會在父類構造方法之前執行

四、抽象類

◆抽象類使用 abstract 表示,不能直接被實例化

◆抽象方法不用 abstract 修飾,無實現

◆抽象類可以沒有抽象方法

◆有抽象方法的類一定得聲明爲抽象類

五、接口

◆ 類和接口是統一的,類就是接口

◆ 每個類都隱式的定義了一個包含所有實例成員的接口

◆如果是複用已有類的實現,使用繼承(extends)

◆如果只是使用已有類的外在行爲,使用接口(implements)

六、Mixins(多繼承)

◆dart 是單繼承的,爲了實現多繼承,使用Mixins

◆Mixin類似於多繼承,是在多類繼承中重用一個類代碼的方式

◆作爲Mixins的類不能有顯示聲明構造方法

◆作爲Mixin的類只能繼承自Object

◆使用關鍵字 with 連接一個或多個mixin

七、操作符覆寫

◆ 覆寫操作符需要再類中定義

◆ 可覆寫的操作符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章