如果有兩個java類(不是介面),怎麼同時使用兩個類的功能?

時間 2021-06-02 05:58:00

1樓:思冉

解決這個問題,首先得了解類和類之間的關係。

類和類之間的關係大體分為:is-a(泛化)、has-a(包含)、use-a(依賴)。

is-a細分可分為:繼承、實現。

has-a細分可分為:組合、聚合、關聯。(包含的關聯強度不同)

use-a沒有細分。

樓主的問題,第一種的解決方案:可以通過包含關係或者依賴關係來解決。

其中包含關係就是乙個類成為另乙個類屬性,而依賴則是乙個類中的方法使用了另乙個類中的方法,此時一般需要建立類的例項或者作為引數傳入。

第二種解決方案:重構類,是否真的適合作為乙個類存在,改為介面會不會更好。這時就涉及了具體類、抽象類、介面的作用範圍了。

介面作為定義功能(規範)存在、抽象類作為描述事物存在、具體類則是對事物的具體化、個性化、具體化。

介面的作用是解決模組間的耦合問題。即低耦合。

類的作用是解決模組內的內聚問題,即高內聚。

只有將介面和類設定好,那麼開發才能得心應手。

paxos演算法中,如果有兩個值被Accept了,其中乙個形成了多數派,另外乙個值怎麼處理?

樂樂Joker 沒什麼不一致的問題。只要多數派接受了某個值v,值v就被視為chosen。因為不管你少數派手上的值是什麼,都能通過後續prepare 學習 到v。至於少數派怎麼同步v,新起一輪paxos流程,把 學習 到的v覆蓋掉少數派裡的值即可。 thinker 當把p2發給兩個acceptor去p...

如果有以下兩個女生,男生們應該怎麼選?

Reika 你信不信大部分男生會選第二個?哪怕我一看就覺得第二個女生很大可能性有一些問題。對於比較傳統的男生來說,第二個女生學歷偏低,長得好,滿足他們所有需求。對於不那麼傳統的男生來說,第二個女生的家境比較好,城市人,不會帶來一系列家庭問題,風險比較小。我一直覺得學歷並不能代表乙個人的受教育水平和三...

如果有兩個星球無法產生實質接觸,卻可以共享乙個網路,那麼這兩個星球有可能成為乙個經濟體嗎?

劉光達 乙個經濟體,看如何定義。如果是徹底的市場方式,我認為不會成為乙個穩定的經濟體,雙方會維持乙個足夠緊密但無法實現所有市場功能的鬆散的經濟組織。如果是徹底的計畫方式。我認為可以構成乙個非常緊密的經濟體,雙方有暴力手段維護共同的信用貨幣,這足夠形成乙個真正意義上的經濟體。總之,這不是乙個可以簡單論...