面向对象并不是必要的
生活随笔
收集整理的這篇文章主要介紹了
面向对象并不是必要的
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
程序開發(fā)并非一定要面向?qū)ο蟛豢?#xff0c;面向?qū)ο笫且环N方式,但是不是唯一的方式,這種方式很多時(shí)候有用,不代表任何時(shí)候都是最高效的,更不是唯一的真理。 面向?qū)ο髮⑾嚓P(guān)的狀態(tài)屬性和操作方法放在一個(gè)實(shí)體中,起到了歸類和分而治之的作用。 對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō),這個(gè)是最根本的方法。但是面向?qū)ο蟮姆侄沃⒉煌昝馈C嫦蜻^程也有分而治之的思想和能力,這就是模塊開發(fā)。對(duì)象是復(fù)雜的,他有生命過程,有復(fù)制克隆的需要,有保持狀態(tài)的需要,他是一個(gè)復(fù)雜的實(shí)體。而很多時(shí)候我們不需要這么多的東西,而只要一個(gè)函數(shù),一個(gè)過程,一個(gè)狀態(tài)。 第二個(gè),面向?qū)ο蟮念愋拖到y(tǒng)非常復(fù)雜。 第三個(gè),面向?qū)ο蟮姆庋b不徹底,默認(rèn)的實(shí)踐是接口和實(shí)現(xiàn)同為一個(gè)對(duì)象實(shí)體,如果要分離處界面和實(shí)體就顯得難以編程。 程序開發(fā)的技巧是:簡(jiǎn)單明了,分而治之,抽象化編程。 面向?qū)ο笤谶@三個(gè)方面都有違反的表現(xiàn),比如如果建立多個(gè)對(duì)象,對(duì)象間的相互關(guān)系變得非常復(fù)雜。程序員需要掌握非常多得實(shí)體概念。 分而治之就是面向?qū)ο髮?duì)界面的分離和封裝上沒有做到很嚴(yán)格。沒有一個(gè)系統(tǒng)的解決方案。父類對(duì)子類的影響,對(duì)象直接都是直接操作。 抽象化并不是面向?qū)ο蟮膶@?#xff0c;比如unix系統(tǒng)的文件就是典型的非面向?qū)ο蟮某橄?。抽象是算法的范?#xff0c;一個(gè)出色的算法,必然高度抽象他操作的對(duì)象,讓算法適應(yīng)更多的場(chǎng)合,而對(duì)象的類型系統(tǒng)反而會(huì)限制了抽象。
總結(jié)
以上是生活随笔為你收集整理的面向对象并不是必要的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 又一个很全的R资讯网站
- 下一篇: 《活法》中一个故事--令托尔斯泰也折服的