无码色色,久久久久久免费精品喷水,美女把胸罩解开让男生摸,欧美一级在线观看视频,色亚洲天堂,色综合天天综合给合国产

咨詢電話:023-88959644    24小時(shí)服務(wù)熱線:400-023-8809
NEWS CENTER ·
新聞動(dòng)態(tài)
關(guān)注中技互聯(lián) 關(guān)注前沿

如何更好的OOP編程

發(fā)表日期:2016-03-10    文章編輯:    瀏覽次數(shù):41    標(biāo)簽:

一、OOP思想
  1、什么是OOP?
  面向?qū)ο缶幊?Object Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)。OOP 的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。
  OOP: Object Oriented Programming,面向?qū)ο蟮某绦蛟O(shè)計(jì)。所謂“對(duì)象”在顯式支持面向?qū)ο蟮恼Z言中,一般是指類在內(nèi)存中裝載的實(shí)例,具有相關(guān)的成員變量和成員函數(shù)(也稱為:方法)。面向?qū)ο蟮某绦蛟O(shè)計(jì)完全不同于傳統(tǒng)的面向過程程序設(shè)計(jì),它大大地降低了軟件開發(fā)的難度,使編程就像搭積木一樣簡單,是當(dāng)今電腦編程的一股勢(shì)不可擋的潮流。
  OOP 達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展性。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對(duì)象都能夠接收信息、處理數(shù)據(jù)和向其它對(duì)象發(fā)送信息。OOP 主要有以下的概念和組件:
  組件 - 數(shù)據(jù)和功能一起在運(yùn)行著的計(jì)算機(jī)程序中形成的單元,組件在 OOP 計(jì)算機(jī)程序中是模塊和結(jié)構(gòu)化的基礎(chǔ)。
  抽象性 - 程序有能力忽略正在處理中信息的某些方面,即對(duì)信息主要方面關(guān)注的能力。
  封裝 - 也叫做信息封裝:確保組件不會(huì)以不可預(yù)期的方式改變其它組件的內(nèi)部狀態(tài);只有在那些提供了內(nèi)部狀態(tài)改變方法的組件中,才可以訪問其內(nèi)部狀態(tài)。每類組件都提供了一個(gè)與其它組件聯(lián)系的接口,并規(guī)定了其它組件進(jìn)行調(diào)用的方法。
  多態(tài)性 - 組件的引用和類集會(huì)涉及到其它許多不同類型的組件,而且引用組件所產(chǎn)生的結(jié)果得依據(jù)實(shí)際調(diào)用的類型。
  繼承性 - 允許在現(xiàn)存的組件基礎(chǔ)上創(chuàng)建子類組件,這統(tǒng)一并增強(qiáng)了多態(tài)性和封裝性。典型地來說就是用類來對(duì)組件進(jìn)行分組,而且還可以定義新類為現(xiàn)存的類的擴(kuò)展,這樣就可以將類組織成樹形或網(wǎng)狀結(jié)構(gòu),這體現(xiàn)了動(dòng)作的通用性。
  由于抽象性、封裝性、重用性以及便于使用等方面的原因,以組件為基礎(chǔ)的編程在腳本語言中已經(jīng)變得特別流行。Python 和 Ruby 是最近才出現(xiàn)的語言,在開發(fā)時(shí)完全采用了 OOP 的思想,而流行的 Perl 腳本語言從版本5開始也慢慢地加入了新的面向?qū)ο蟮墓δ芙M件。用組件代替“現(xiàn)實(shí)”上的實(shí)體成為 JavaScript(ECMAScript) 得以流行的原因,有論證表明對(duì)組件進(jìn)行適當(dāng)?shù)慕M合就可以在英特網(wǎng)上代替 HTML 和 XML 的文檔對(duì)象模型(DOM)。
  2、OOP思想
  面向?qū)ο缶幊碳夹g(shù)的關(guān)鍵性觀念是它將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作行為放在一起,作為一個(gè)相互依存、不可分割的整體——對(duì)象。對(duì)于相同類型的對(duì)象進(jìn)行分類、抽象后,得出共同的特征而形成了類。面向?qū)ο?nbsp;編程就是定義這些類。類是描述相同類型的對(duì)象集合。類定義好之后將作為數(shù)據(jù)類型用于創(chuàng)建類的對(duì)象。程序的執(zhí)行表現(xiàn)為一組對(duì)象之間的交互通信。對(duì)象之間通過 公共接口進(jìn)行通信,從而完成系統(tǒng)功能。類中聲明的public成員組成了對(duì)象的對(duì)外公共接口。
  OOP的許多原始思想都來之于Simula語言,并在Smalltalk語言的完善和標(biāo)準(zhǔn)化過程中得到更多的擴(kuò)展和對(duì)以前的思想的重新注解。可以說OO思想和OOPL幾乎是同步發(fā)展相互促進(jìn)的。與函數(shù)式程序設(shè)計(jì)(functional- programming)和邏輯式程序設(shè)計(jì)(logic-programming)所代表的接近于機(jī)器的實(shí)際計(jì)算模型所不同的是,OOP幾乎沒有引入精確的數(shù)學(xué)描敘,而是傾向于建立一個(gè)對(duì)象模型,它能夠近似的反映應(yīng)用領(lǐng)域內(nèi)的實(shí)體之間的關(guān)系,其本質(zhì)是更接近于一種人類認(rèn)知事物所采用的哲學(xué)觀的計(jì)算模型。
  由此,導(dǎo)致了一個(gè)自然的話題,那就是OOP到底是什么?在OOP中,對(duì)象作為計(jì)算主體,擁有自己的名稱,狀態(tài)以及接受外界消息的接口。在對(duì)象模型中,產(chǎn)生新對(duì)象,舊對(duì)象銷毀,發(fā)送消息,響應(yīng)消息就構(gòu)成OOP計(jì)算模型的根本。
 
、對(duì)象產(chǎn)生的基本方式
對(duì)象的產(chǎn)生有兩種基本方式:
1.是以原型(prototype)對(duì)象為基礎(chǔ)產(chǎn)生新的對(duì)象。
  原型的概念已經(jīng)在認(rèn)知心理學(xué)中被用來解釋概念學(xué)習(xí)的遞增特性,原型模型本身就是企圖通過提供一個(gè)有代表性的對(duì)象為基礎(chǔ)來產(chǎn)生各種新的對(duì)象,并由此繼續(xù)產(chǎn)生更符合實(shí)際應(yīng)用的對(duì)象。而原型-委托也是OOP中的對(duì)象抽象,代碼共享機(jī) 制中的一種。
2.是以類(class)為基礎(chǔ)產(chǎn)生新對(duì)象。
  一個(gè)類提供了一個(gè)或者多個(gè)對(duì)象的通用性描述。從形式化的觀點(diǎn)看,類與類型有關(guān),因此一個(gè)類相當(dāng)于是從該類中產(chǎn)生的實(shí)例的集合。而這樣的觀點(diǎn)也 會(huì)帶來一些矛盾,比較典型的就是在繼承體系下,子集(子類)對(duì)象和父集(父類)對(duì)象之間的行為相融性可能很難達(dá)到,這也就是OOP中常被引用的---子類型不等于子類。
  而在一種所有皆對(duì)象的世界觀背景下,在類模型基礎(chǔ)上還誕生出了一種擁有元類的新對(duì)象模型。即類本身也是一種其他類的對(duì)象。
  以上三種根本不同的觀點(diǎn)各自定義了三種基于類,基于原型和基于元類 的對(duì)象模型。而這三種對(duì)象模型也就導(dǎo)致了許多不同的程序設(shè)計(jì)語言(如果我們暫時(shí)把靜態(tài)與動(dòng)態(tài)的差別放在一邊)。是的,我們經(jīng)常接觸的C++,Java都是使用基于類的對(duì)象模型,但除此之外還有很多我們所沒有接觸的OOPL采用了完全不一樣的對(duì)象模型,他們是在用另外一種觀點(diǎn)詮釋OOP的內(nèi)涵。
  面向?qū)ο蟮木幊谭椒∣OP是九十年代才流行的一種軟件編程方法。它強(qiáng)調(diào)對(duì)象的“抽象”、“封裝”、“繼承”、“多態(tài)”。我們講程序設(shè)計(jì)是由“數(shù)據(jù)結(jié)構(gòu)”+“算法”組成的。從宏觀的角度講,OOP下的對(duì)象是以編程為中心的,是面向程序的對(duì)象。
  本文由重慶網(wǎng)站建設(shè)-中技互聯(lián):www.tmsmall666.cn
如沒特殊注明,文章均為中技互聯(lián)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自www.tmsmall666.cn
相關(guān)新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429號(hào)

  • qq客服
  • 公眾號(hào)
  • 手機(jī)版
  • 新浪微博