作者wjungle (俺)
標題Re: [分享] 物件導向 in C
時間Tue Aug 29 09:23:58 2023
從2009年開始學C以來,接著接觸Linux,一直有一個聲音在說C語言也是可以寫物件導向
的,所以後來對於只要書有提到這樣的主題,我都會直接買下來。但因為工作上及學習上
有更多別的事要處理,比如工作做比較底層的螺絲釘之類的,一直沒有正視這個問題。
大家都說Linux整個就是用物件導向寫的,但是裡面那些技巧是對應什麼樣的概念,一直
有一種很像什麼又說不上來,就覺得怎麼沒有人可以說的明白,可能高手都早就心領神
會了,我這平凡人還是希望有人可以指引一條明路。
我之前有看到,在下列書單有提到這個主題的:
1. 現代嵌入式系統開發專案實務
2. Making Embedded Systems
3. 系統程序員成長計劃
4. 嵌入式Linux上的C語言編程實踐
5. 物件導向 ANSI C 語言-如何寫物件導向 C 程式
6. Clean Architecture
以上的書單,5曾經買過,但覺得不是我要的,後來售出。
裡面寫的最詳盡的是4,然後我最近看到6突然矛塞頓開,
所以針對4與6統整了一下,寫了相關的文章如下,分享一下:
https://wjungle.blogspot.com/2023/08/c.html
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.251.46 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1693272241.A.EF4.html
1F:→ loadingN: 用struct去封裝啊 08/29 11:19
2F:→ EijiHoba: Struct可以指定Public/Private/Protect嗎? 08/29 12:07
3F:→ stupid0319: 用static function 讓其他.c看不見不就好了 08/29 14:58
4F:→ sarafciel: 欸斗,你的struct defination塞在.c裡,那如果要按你 08/29 15:07
5F:→ sarafciel: 第二篇的方式對這個struct做繼承,然後再拿裡面的成員 08/29 15:07
6F:→ sarafciel: 變數來用要怎麼辦呢? 08/29 15:07
7F:推 johnjohnlin: 那就不是private啊 08/29 17:05
8F:→ Dinowchang: 簡單來說,語法本身沒支援,實現全部靠腦補。 08/29 18:43
9F:→ Richun: 我自己用C實作模擬OO的心得是,這東西還是搞一半就好。 08/29 19:58
10F:→ Dracarys: 乾脆自己做cfront了 08/29 20:13
11F:推 mrgyt1030: 寫著寫著就變C++了 08/29 20:15
12F:→ tinlans: 這東西不是幾十年前侯捷就秀過一波了? 08/29 20:36
13F:推 JFLung9536: 我寫過不會很難 08/29 21:42
14F:→ JFLung9536: 動態建立實體元件也是做的到的 08/29 21:43
15F:噓 manmay: zzzz... 08/29 22:29
16F:→ fishxd1096: 試著用C寫個linked list操作,應該就懂了 08/29 23:06
17F:→ alex70266: 找object-oriented programming with ansi-c 的pdf,啃 08/30 17:18
18F:→ alex70266: 一下英文就是了 08/30 17:18
19F:→ alex70266: private public沒有這麼直觀,要參考的話可以看kernel 08/30 17:23
20F:→ alex70266: driver怎麼封裝各介面私有資料 08/30 17:23
21F:推 wulouise: 放在.h的都是public,其他都是private,user只有opaque p 09/02 18:36
22F:→ wulouise: tr,但是非lib通常不會切這麼清楚 09/02 18:36
23F:→ sunneo: kernel: priv_data 09/11 12:26