關於物件導向的一些基礎認知和理解

2021-10-05 11:56:24 字數 1082 閱讀 4361

物件導向的解釋在網上一大堆,但每個人在不同的階段都對它有不同的理解。在這裡我記錄一下我目前對它的一些理解。唉~之前寫的幾百字說不見就不見了,讓我又得從新寫,真是讓人煩惱。

物件導向在目前的我看來,就是一種**實現的設計方式。它們夠讓人更加形象和直觀的去理解或者實現**。在我剛開始學習的時候,或者說大多數人都是。在開始寫**的時候,都是按部就班的跟著已經完成的**一步一步的敲。命名空間,定義類,具體實現方法,例項化,呼叫。一套組合王八拳打下來,該實現的都實現了。對於其中的為什麼,我們完全不在意,滿腦子只是這樣做的話我想要的功能就能實現了吧。畢竟,這大概就是寫**的樂趣吧。哈哈哈哈哈哈~看著自己想要做的東西一步一步的完成,誰還有心思去思考那些旁支末節呢。如物件導向的三個特點:封裝,繼承和多型。在**體現出來和我又有什麼關係。

關於封裝,這是在我把乙個功能所需要的方法,都放在乙個類裡面實現的時候才驀然回首般的發覺。哦~原來這就是封裝。把要準備的東西都準備好,在其他地方使用到的時候只管呼叫,不用去理會它具體是怎麼實現的。像平時用到的簡訊、郵件和支付的介面,都是經過這樣的封裝在進行呼叫的。

多型的話,我目前的理解感覺還不是很深。因為我還從來沒有寫過一些相關的介面。以前在看一些源**的時候,往父類查詢實現方法時,我們會發現一些已經被宣告但卻沒有具體實現的方法。這就涉及到了多型這個概念。一般這些類在定義時,都是通過abstractinte***ce關鍵字進行定義,分別是抽象類和介面。他們都需要在子類中進行實現,抽象類通過extends關鍵字繼承,只能單繼承不能多繼承,一般用來定義這個類是什麼,它包含了屬性,抽象方法和非抽象方法;而介面的子類則是通過implements進行繼承,介面可以實現多繼承,一般是用來定義這個類能做什麼,一般認為它只有抽象方法,常量極少用到。

最後,在php中還有乙個提高**復用的traits。它需要通過traits關鍵字進行定義,通過use關鍵字使用,不能被例項化。我是在學習easyswoole框架的時候才知道這個寶藏的,裡面目前發現用的最多的就是拿來實現單例模式了。

關於物件導向的一些思考

物件導向方法被人談論了二十多年了。我接觸它比較晚,直到九十年代中期才開始學習使用它。若說對這個方法做些評價,那還真是大言不慚了。不過這麼些年來,也週期性的對物件導向做些思考。或對或錯,我想都值得總結一下。一家之言,來看的同學不必太當真。首先我們要區分一下 基於物件 和 物件導向 的區別。基於物件,通...

一些關於物件導向的思考

python是一門神奇的語言,看了看裡面一些關於物件導向的描述。覺得挺受啟發的,在c 中同樣適用。主要觀點出自magnus lie hetland的 python基礎教程 1 將屬於一類的物件放在一起。如果乙個函式操縱乙個全域性變數,那麼兩者最好都在類內作為特性和方法出現。2 不要讓物件過於親密。方...

關於物件導向的一些想法

這兩天在寫程式,一直在想模組之間的資訊交流到底用什麼方式,gui中接收到的資料如何才能和邏輯層中的業務進行交流,一開始我使用的是字串,感覺這種方式很不好,於是開始考慮使用物件來傳遞訊息。使用字串是一開始程式設計的時候很容易想到的,很直觀簡單,可是使用的時候就不是這個樣子了,使用字串的話,模組之間的耦...