物件導向的程式設計思想

2021-06-22 12:49:41 字數 524 閱讀 2142

最近幾天看了乙個開源的**庫,使用c語言寫的。裡面的結構和之前看到的不太一樣,後來才發現是採用了物件導向思想的實現方式。頓時有所感悟:

物件導向從來都是一種思想,它不侷限於語言。說c是面向過程的,c++是物件導向的,其實說的是c在語法層次上不直接支援物件導向,而並不是說c語言不能寫出物件導向的程式。而c++相當於在語法上直接支援了物件導向。由此回想起,找工作時,有人被問到的一道面試題,要求用c寫乙個類。原來如此啊。

物件導向思想的三大特點是:封裝,繼承,多型。用c語言去實現乙個c,比較簡單的是形式是,用結構體封裝成員變數,而對於成原函式,則使用函式指標來實現。對於繼承,通常是子類中存在乙個父類的變數,從而實現繼承,動態則通過void*來實現。(這是很簡單的方法,當然很多情況,如果不對,還請大家指正)。

其實想想也是,作業系統這麼大的工程,用c語言和彙編實現。其中肯定存在物件導向的應用場景的。gtk的實現,也是乙個很好的學習案例。而且我有搜到了一本電子書ooc,物件導向的c語言,哈哈,一看時間2023年,也就是說很早很早,人家就開始這麼寫啦。接下來要好好讀讀這本書了。

物件導向程式設計思想

舉個最簡單點的例子來區分 有一天要請客吃飯,怎麼辦?有兩個方法 1 買菜,買調料,買肉,買酒水,然後下廚房動手炒菜 2 去飯店,點個 看出來區別了嗎?方法1是面向過程,方法2是物件導向。物件導向有什麼優勢?首先不需要知道各種菜式是怎麼做的,降低了耦合性。如果突然想換 了,對於方法1可能不太容易,因為...

物件導向程式設計思想

所謂的物件導向,是一種程式設計思想,程式設計思路,的書寫格式,複雜程式的封裝,封裝成其他形式,使用物件導向的方式來封裝程式。物件導向 有封裝好的物件導向的的程式 直接呼叫執行就可以了 功能和作用類似於 封裝好的函式 但是 封裝的語法和思想與函式不同 物件導向的基本思想 基本思路就是,建立乙個物件,給...

物件導向程式設計思想

介面是為了處理各個物件之間的協作關係,是系統設計的關鍵部分,主要作用是為了將 定義 與 實現 分離,從而實現系統解耦的目的。在系統設計之初,我們要為抽象類建立行為模型 為什麼要面向介面程式設計?因為物件導向設計原則為我們提供了方法和原則 七大原則 開 面向擴充套件開放,面向修改關閉 口 介面隔離原則...