1. 程式人生 > >面向對象思想可能是錯的

面向對象思想可能是錯的

inux bsp 禁止 目前 文本框 面向對象思想 gui 繼承體系 事情

面向對象編程方法在宣傳中最大優點是代碼復用和數據封裝。實現代碼復用核心技術是繼承。繼承這種技術在短時間內看,是達到了代碼復用的效果,然而在更大範圍內來看,實際上限制了代碼復用。

因為,我認為是在目前編程領域中,繼承是最強烈的代碼耦合。數據和方法封裝也是非常強烈的耦合。

這樣造成的問題是,在一個繼承體系內的類,不能單獨拿到繼承體系外面去用。比如GUI裏的文本編輯框不能拿到web裏去用。GUI是運行在桌面系統裏面的,DOM是運行在瀏覽器裏面的。造成這個問題的最根本原因是,桌面GUI是一個繼承體系,DOM也是一個繼承體系,兩個體系是互相孤立的。因此在兩個體系內,在做著重復的事情。

同樣道理,一個類裏面的方法,不可以拿到類外去用。

如果想要一個文本框的代碼能同時用在GUI和DOM中,只有打破繼承體系才有是可能。windows是沒希望了。linux還有可能。

怎麽打破繼承體系呢?很簡單,就是不要繼承就可以了。假如讓你設計一套GUI框架,但是禁止你使用繼承,你會怎麽設計呢?動腦想一想,不算太難。

面向對象思想可能是錯的