日本有码中文字幕视频,在线能看三级网站,日本妇乱子伦视频免费的,中文字幕一页在线

      首頁(yè)科技>內(nèi)容

      面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些(面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些)

      時(shí)間:2022-09-18 14:41:17來(lái)源:
      導(dǎo)讀您好,現(xiàn)在冰冰來(lái)為大家解答以上的問(wèn)題。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些相信很多小伙伴還不知道,現(xiàn)在讓我們一起來(lái)...

      您好,現(xiàn)在冰冰來(lái)為大家解答以上的問(wèn)題。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有哪些相信很多小伙伴還不知道,現(xiàn)在讓我們一起來(lái)看看吧!

      1、SmalltalkSmalltalk被公認(rèn)為歷史上第二個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言和第一個(gè)真正的集成開發(fā)環(huán)境?(IDE)。

      2、由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。

      3、Smalltalk對(duì)其它眾多的程序設(shè)計(jì)語(yǔ)言的產(chǎn)生起到了極大的推動(dòng)作用,主要有:Objective-C,Actor, Java 和Ruby等。

      4、90年代的許多軟件開發(fā)思想得利于Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。

      5、2、EiffelEiffel語(yǔ)言是繼Smalltalk-80之后的另一個(gè)"純"OOPL。

      6、這種語(yǔ)言是由OOP領(lǐng)域中著名的專家Bertrand Meyer等人20世紀(jì)80年代后期在ISE公司(Interactive Software Engineering Inc.)開發(fā)的,它的主要特點(diǎn)是全面的靜態(tài)類型化、有大量的開發(fā)工具、支持多繼承。

      7、3、C++C++是C語(yǔ)言的繼承,它既可以進(jìn)行C語(yǔ)言的過(guò)程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。

      8、C++擅長(zhǎng)面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過(guò)程的程序設(shè)計(jì),因而C++就適應(yīng)的問(wèn)題規(guī)模而論,大小由之。

      9、4、JavaJava是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。

      10、Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程 。

      11、Java具有簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn) 。

      12、Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等 。

      13、擴(kuò)展資料:面向?qū)ο蟪绦蛟O(shè)計(jì)的原則:?jiǎn)我宦氊?zé)原則:一個(gè)對(duì)象應(yīng)該只包含單一的職責(zé),并且該職責(zé)被完整地封裝在一個(gè)類中。

      14、單一職責(zé)原則是實(shí)現(xiàn)高內(nèi)聚、低耦合的要素。

      15、類的職責(zé)主要包括兩個(gè)方面:數(shù)據(jù)職責(zé)和行為職責(zé),數(shù)據(jù)職責(zé)是通過(guò)其屬性來(lái)體現(xiàn)的,行為職責(zé)是通過(guò)其方法來(lái)體現(xiàn)。

      16、如果職責(zé)過(guò)多將導(dǎo)致系統(tǒng)非常的脆弱,類被復(fù)用的可能性就越少,一個(gè)職責(zé)可能會(huì)影響其他職責(zé)。

      17、2、開閉原則:一個(gè)軟件實(shí)體應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。

      18、任何軟件都需要面臨一個(gè)問(wèn)題,當(dāng)軟件系統(tǒng)需要面對(duì)新的需求時(shí),我們要保證系統(tǒng)的設(shè)計(jì)框架是穩(wěn)定的。

      19、為了滿足開閉原則,需要對(duì)系統(tǒng)進(jìn)行抽象化設(shè)計(jì),抽象化是開閉原則的關(guān)鍵。

      20、百分百的開閉原則很難達(dá)到,但是要盡量使系統(tǒng)設(shè)計(jì)符合開閉原則。

      21、3、里氏代換原則:所有引用基類(父類)的地方必須透明地使用其子類的對(duì)象。

      22、里氏代換原則是實(shí)現(xiàn)開閉原則的重要方式之一,由于使用基類對(duì)象的地方都可以使用子類對(duì)象,因此在程序中盡量使用基類類型來(lái)對(duì)對(duì)象進(jìn)行定義,而在運(yùn)行時(shí)再確定其子類類型,用子類對(duì)象代替父類對(duì)象。

      23、子類的所有方法必須在父類中聲明,或子類必須實(shí)現(xiàn)父類中聲明的所有方法。

      24、4、依賴倒轉(zhuǎn)原則:高層模塊不應(yīng)該依賴低層模塊,他們都應(yīng)該依賴于抽象。

      25、抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。

      26、依賴倒轉(zhuǎn)原則是面向?qū)ο笤O(shè)計(jì)的主要手段。

      27、在代碼中使用抽象類,而具體類放在配置文件中。

      28、里氏代換原則是依賴倒轉(zhuǎn)原則的基礎(chǔ)。

      29、如果系統(tǒng)行為發(fā)生變化,只需要擴(kuò)展抽象層,并修改配置文件,而無(wú)需修改原有系統(tǒng)的源代碼,滿足開閉原則的設(shè)計(jì)要求。

      30、5、接口隔離原則:客戶端不應(yīng)該依賴那些他不需要的接口。

      31、首先需要滿足單一職責(zé)原則。

      32、將一組相關(guān)的操作定義在一個(gè)接口中,在滿足高內(nèi)聚的前提下,接口中的方法越少越好。

      33、可以在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)采用定制服務(wù)的方式。

      34、6、合成復(fù)用原則定義:盡量使用對(duì)象組合,而不是繼承來(lái)達(dá)到復(fù)用的目的。

      35、通過(guò)繼承來(lái)實(shí)現(xiàn)復(fù)用很簡(jiǎn)單,而且子類易于擴(kuò)展。

      36、但其主要問(wèn)題是會(huì)破壞系統(tǒng)的封裝性,繼承會(huì)將基類的實(shí)現(xiàn)細(xì)節(jié)暴露給子類。

      37、同時(shí)沒(méi)有足夠的靈活性,如果基類發(fā)生變化,子類的實(shí)現(xiàn)也不得不發(fā)生改變。

      38、7、迪米特法則原:每一個(gè)軟件單位對(duì)其他的單位都只有最少的知識(shí),而且局限于那些與本單位密切相關(guān)的軟件單位。

      39、在類的結(jié)構(gòu)設(shè)計(jì)上,每一個(gè)類都應(yīng)當(dāng)盡量降低其成員變量和成員函數(shù)的訪問(wèn)權(quán)限。

      40、在類的設(shè)計(jì)上,只要有可能,一個(gè)類型應(yīng)當(dāng)設(shè)計(jì)成不變類。

      41、一個(gè)對(duì)象對(duì)其他對(duì)象的引用,應(yīng)當(dāng)降到最低。

      42、參考資料:百度百科-面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。

      本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。

      標(biāo)簽:
      最新文章