2015-04-02 24 views
0
  1. 關於類,接口是什麼意思?我認爲它是指該班的所有公共職能。我是正確還是意味着別的? 我一直聽到它很多,但從來沒有注意到明確的定義。需要對OOP中的接口進行說明

  2. 這是一個真正的問題。 派生類保留它所派生的基類的接口是什麼意思?我認爲這意味着基類中的公共函數也必須在派生類中公開(這將在公共和受保護的繼承中)。我錯了嗎?

+0

1.公共函數**和變量**。 – 2015-04-02 03:59:03

+0

1.接口只是其他對象與對象通信的一種方式。通常情況下,接口是由該對象的公共屬性顯式定義的(但並非所有語言都強制執行此操作)。 2.如果派生對象保留其基類的接口,那麼知道如何使用* base class *的其他代碼將能夠使用該知識來操作派生類*。 – 2015-04-02 04:03:45

回答

1
  1. 是的,一個類的接口是其可見的成員函數到外面的世界,也就是它的公共成員函數的集合。一些還在接口中包含成員變量,但通常不會有公共成員變量(除非聲明爲static)。通常,interfaces通過抽象基類實現。這與Java不同,後者具有用於指定接口的不同關鍵字。

  2. 保留接口意味着基類中的公共成員函數在類層次結構中可見。此外,您可以重寫虛函數,以便獲得多態行爲,並保持通用接口。請注意,只有public繼承保留接口,protectedprivatedo not。未能保留接口的另一種方法是通過C++中的名稱隱藏。例如:重新聲明Base::f(int)Derived::f(float,float)。在這種情況下,Base::f(int)Derived中不再可見,除非通過using Base::f;語句。