如何理解 在物件導向程式設計的時候,方法或者函式的引數最好是介面或者抽象類 ?

時間 2021-05-30 12:05:06

1樓:行雲

這樣做的目的是減少函式自身模組對外部的依賴,函式的引數型別越簡單,越抽象,意味著對引數型別的依賴越小,函式內部就越不需要關注引數的型別細節。

2樓:進擊的小比克

其實他的意思是使用那個類的父類引用或者是那個類所實現或者說是繼承的介面的引用,因為這樣有利於後續程式的擴充套件,就是實現多型這種東西。

比如class A:B{}

則實力化A時候最好是B *pB = new A其實這就是為了實現多型,當你要在擴充套件程式時候久很容易,多寫寫程式你就有體會了。

3樓:鄭煒韜

面向介面程式設計。介面是協議的實現。在設計函式的時候,只按照協議來設計功能,而不細緻考慮具體的實現,這有利於解耦,應對變化。

在呼叫這個函式的時候再傳入乙個具體的物件,其實呼叫者的行為改變不會影響函式設計者的行為。

4樓:

贊同 @vczh的回答。

介面、抽象類,可以看作是對某一類的物件、事物的抽象,約定了這一類事物都應該實現的行為。

當我們設計函式的引數時,目的其實是為了呼叫該類事物的某乙個或者某幾個行為,那麼傳遞介面或者抽象類,就是側重於對目標行為的選擇,而不是具體是哪一類物件,遮蔽了部分的細節。

比如,某個乙個函式,是向乙個stream裡面輸出,那麼引數選擇 ostream ,要好過於 stringstream、fstream這種更為具體的物件。

如何理解物件導向

玩玻璃珠 物件導向 物件導向程式設計,和面向過程程式設計都是程式設計正規化。也就是說是指導程式設計和抽象的思想。面向過程的設計思路是按照問題的解決過程來的。解決方法是通過函式來表示。著眼於解決步驟。解決這個問題我需要做哪些步驟?物件導向的設計思路是抽象並劃分參與者。也就是說,這件事是 誰 來做?再考...

怎樣理解或評價物件導向的程式設計技術?

神捕手 物件導向是指一種程式設計范型,同時也是一種程式開發的方法。人,車輪都可以被稱為 類 而 物件 就是 類 的集合,是程式的基本單元,將程式和資料 封裝其中,以提高軟體的重用性 靈活性和擴充套件性。物件導向的好處是以客觀的角度觀察問題,各個 物件 被稱為客體,任何功能的實現都有一系列的客體,解決...

物件導向程式設計比傳統的面向過程程式設計更有什麼好處?

Ivony 我記得OO的流行是因為GUI的流行,傳統的面向過程的語言在編寫和設計GUI應用的時候顯得非常的吃力。將GUI的介面元素抽象為控制項,再使用物件來實現之,比起傳統的面向過程能夠更好的開發和設計GUI的應用程式。物件導向也只是眾多程式設計正規化中的一種,一般認為物件導向比較適合應用於GUI開...