#
? 在類的設計中,對成員變量的封裝是一個比較煩人的問題.什么時候應該提供讀寫的接口,什么時候應該聲明為public,這樣的問題有時候改幾次也都不是很滿意的.
? 將對變量的讀寫操作封裝起來以接口的形式提供,是有了一定的接口一致性.如果以后要在讀寫變量的操作內加入其它的操作,那么原有的代碼就可以不加任何修改,只改這樣的接口就行了.也就是對外部封閉了細節,使編程簡單一點.
但我也覺得不能用"一刀切"的方式將所有的成員變量都加以這樣的封裝,這樣無疑會使代碼增長(而且可能還有我所不知道的缺點).
總的來說,
? 對于要對外部提供應用的變量,最好以接口的形式提供.這樣可以有比較一致的接口.
? 而如果只是內部使用的話,且只是用于保存變量的值的話,直接聲明為public會好一些.而若在內部也是相對地為其它類提供服務的話,也還是要聲明為接口要好一些.
這里所說的內部和外部,只是相對來說的,并不只是針對某個類或程序而言.具體來說要根據代碼的聚合程序來看.
最主要的原則還是要對具體的情況還要加以區別對待,根據實際情況不同而施以不同的應用.
===========
這樣的問題主要還是靠編碼經驗的,如果有經驗的話,可能憑感覺就可以隨時決定的.
對于這個問題我也只是有這一點的初步見解(我幾乎沒有什么實際的編碼經驗),也不知道合不合適,希望有牛人可以加以指導.
大家都知道現在C/C++的編譯是分為兩個部分的,即編譯和連接:源文件經編譯后生成目標文件,然后再連接為可執行文件.
我對這兩個階段要做的工作還沒有了解,所以我現在可以這樣設想(也有可能是無知的設想):
以一種標準的方式定義目標文件的格式,使之在各操作系統上生成的目標文件完全一致,而且都可以在相應的平臺上進行正確的連接.這樣的話,就相當于是一個中間層次的可移植性了.其實,如果這樣不行的話也可以像JAVA那樣生成一定格式的"字節碼"文件,然后再進行編譯連接.
如果可以將連接的一部分功能結合到操作系統內部,實現動態的連接,這樣就可以實現類似動態裝載的特性了.
但這個要實現的話就需要有一個大的投資方或者開源社區自己的共同努力才能實現了.
所以現在這樣的想法還是空想吧.
不過我想,事物都是發展的,我們的C++當然也不會例外的.我相信C++會在不久也實現動態及完全的跨平臺的特性的.希望這一天不會太遠!
可以參加這樣的會議真的是很難得啊,我很慶幸會有這樣的機會,雖然我只是在成都分會場.這次我參加并不是對Java有太大的興趣(我的興趣肯定是在C++上的呵),而只是想了解一下相關的技術及前沿動態.而且,這次也有不少的體會,之后會陸續寫出來的.
現在園子多了,但進入不同的園子還得要不同的鑰匙,真是麻煩哪.
既然都是一家子人,何不共用同一把鑰匙呢?
不知道可不可以實現啊.現在在各個園子里互相切換,還真是有點煩啊.
最好是將相同的帳號整合為一個帳號,新申請的可以選擇激活某個博客來操作,這樣管理也應該會方便一些吧.
希望以后會有這樣的改進!
好不容易申請了一個Gmail,可沒有可發的邀請函.其他的人都是一申請就有的啊.
看了一下幫助說明,說邀請函是隨機分配的,但分配到我頭上的機會有多大呢?
難道還要我把現有賬戶注消再重新申請不成?
又一周無聊的過去了,真是,什么時候才能好好的生活呢.
玩,玩,玩,只知道玩......
唉...............
慚愧哪......
教師節到了,我在此向所有的辛苦工作的教師們道一聲:
老師,你們辛苦了!
向全體教師致敬!
各位在校或已離校的朋友們,請抽出點時間,向你們的老師發出你最真誠的問候吧!
都建起來幾天了,可現在注冊的人還不多啊.
大家都幫著宣傳一下,讓其它園子里的人以及其它的C++愛好者都湊到這里來啊!
各位熱愛C++的朋友們,行動起來!
PS: 建議dudu也在各個園子里公告一下,把大家召集起來.
終于有了C++自己的博客了!
以前與大家交流不夠多,不過以后我一定要多參與,把自己的心得體會都寫下來與大家分享!
我鐘情于C++,也深深的喜愛著它,而我卻又沒有那么高的水平能靈活的運用它.但我卻確實想寫點什么,至少也是有實際意義的程序,而不只是單純為了學習而作的程序.這樣的思想讓我到現在也還沒能在C++方面有任何更多的提高.
而現在的Java,它簡化了設計,但是卻增加了學習量,面對眾多繁復的條目,要不停的去學,而我自己又不想只是簡單的拿來用,而是想弄明白它是如何實現的,從而自己實現一個類似功能的組件.
按理說,這樣的想法應該是不錯的.但對于我來說,卻是一項負擔.我常常沒有完全明白它是怎么回事就去摸索著實現(有時我也是有意如此,怕自己完全明白后思想受到束縛);而僅僅開了一個小小的頭,就又可能轉向其它的東西.
我常常在C++與Java之間徘徊,不知道自己該用什么.也不知道自己適合做什么,縱使我很熱愛編程.
好煩哪......
路過的朋友,能否將我從迷團中解放出來呢?
可冰 2005-08-15 21:13
文章來源:http://kb.cnblogs.com/archive/2005/08/15/215605.html