面嚮對象語言接口和超類

首先要知道什麼是面嚮對象語言和超類還有接口

面嚮對象語言

面嚮對象語言,是一類以對象作爲基本程序結構單位的程序設計語言,指用於描述的設計是以對象爲核心,而對象是程序運行時刻的基本成分。語言中提供了類、繼承等成分。

超類

被繼承的類成爲超類(父類)

接口

計算機系統中兩個獨立的部件進行信息交換的共享邊界。這種交換可以發生在計算機軟、硬件,外部設備或進行操作的人之間,也可以是它們的結合。可以理解爲一個特殊的抽象類,規定了一個類必須做什麼。而其他類繼承於它,這些抽象方法就是一個一個的接口

那麼面嚮對象語言接口和超類有什麼異同呢

  • 接口是公開的,裏面沒有私有方法和私有變量,是供別人使用的,而超類中可以有私有變量和方法
  • 實現接口一定要實現接口裏定義的所有方法,抽象類可以選擇需要的來重寫定義
  • 接口可以實現多重繼承,而一個類只能有一個超類

    按我的理解,接口就是老師,他教會我們生活中必須要做的事情,老師可以有多個,可以獲得多個技能,而超類,就是父親,肯定只能有一個了

    作爲動作管理器的接口ISSActionCallback

public enum SSActionEventType : int { Started, Competeted }

public interface ISSActionCallback
{
    void SSActionEvent(SSAction source,
                        SSActionEventType events = SSActionEventType.Competeted,
                        int intParam = 0,
                        string strParam = null,
                        Object objectParam = null);
}

是不能作爲超類的,原因很簡單,它定義了事件處理接口,所有事件管理者必須實現這個接口來實現時間調度,所以組件事件需實現它,事件管理器也必須實現它,所以只能是接口。從UML圖更好理解
這裏寫圖片描述

同理,SSAction,SSActionManager不能設計爲接口
這裏寫圖片描述

這裏寫圖片描述
這裏寫圖片描述

原因一是它們有私有變量和方法,二是它們的方法都已有明確的定義
這裏寫圖片描述

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