欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java學(xué)習——理解面向對象程序設計
  1.編程模型
  
  所有計算機均由兩種元素組成:代碼和數據.精確的說(shuō),有些程序是圍繞著(zhù)"什么正在發(fā)生"而編寫(xiě),有些則是圍繞"誰(shuí)正在受影響"而編寫(xiě)的.
  
  第一種編程方式叫做"面向過(guò)程的模型",按這種模型編寫(xiě)的程序以一系列的線(xiàn)性步驟(代碼)為特征,可被理解為作用于數據的代碼.如 C 等過(guò)程化語(yǔ)言.
  
  第二種編程方式叫做"面向對象的模型",按這種模型編寫(xiě)的程序圍繞著(zhù)程序的數據(對象)和針對該對象而嚴格定義的接口來(lái)組織程序,它的特點(diǎn)是數據控制代碼的訪(fǎng)問(wèn).通過(guò)把控制權轉移到數據上,面向對象的模型在組織方式上有:抽象,封裝,繼承和多態(tài)的好處.
  
  2.抽象
  
  面向對象程序設計的基本要素是抽象,程序員通過(guò)抽象來(lái)管理復雜性.
  
  管理抽象的有效方法是使用層次式的分類(lèi)特性,這種方法允許用戶(hù)根據物理含義分解一個(gè)復雜的系統,把它劃分成更容易管理的塊.例如,一個(gè)計算機系統是一個(gè)獨立的對象.而在計算機系統內部由幾個(gè)子系統組成:顯示器,鍵盤(pán),硬盤(pán)驅動(dòng)器,DVD-ROM,軟盤(pán),音響等,這些子系統每個(gè)又由專(zhuān)門(mén)的部件組成.關(guān)鍵是需要使用層次抽象來(lái)管理計算機系統(或其他任何復雜系統)的復雜性.
  
  面向對象程序設計的本質(zhì):這些抽象的對象可以被看作具體的實(shí)體,這些實(shí)體對用來(lái)告訴我們作什么的消息進(jìn)行響應.
  
  /* (我的理解)
  
  *計算機是一個(gè)實(shí)體,我要輸入字符,顯示器顯示出來(lái),那么
  
  *計算機(對象).輸入(鍵盤(pán)屬性).顯示(顯示方法)
  
  *使用分層來(lái)引用,操作.而不用管計算機內部如何處理.
  
  *只要有計算機對象,它就能響應我的操作,而我敲鍵盤(pán),
  
  *計算機對象就把這個(gè)消息傳給屏幕,屏幕顯示.
  
  */
  
  計算機對象包含了它所有的屬性,以及操作,這就是面向對象程序設計的三大原則之一:封裝.
  
  3.封裝
  
  封裝是一種把代碼和代碼所操作的數據捆綁在一起,使這兩者不受外界干擾和誤用的機制.封裝可被理解為一種用做保護的包裝器,以防止代碼和數據被包裝器外部所定義的其他代碼任意訪(fǎng)問(wèn).對包裝器內部代碼與數據的訪(fǎng)問(wèn)通過(guò)一個(gè)明確定義的接口來(lái)控制.封裝代碼的好處是每個(gè)人都知道怎樣訪(fǎng)問(wèn)代碼,進(jìn)而無(wú)需考慮實(shí)現細節就能直接使用它,同時(shí)不用擔心不可預料的副作用.
  
  在JAVA中,最基本的封裝單元是類(lèi),一個(gè)類(lèi)定義著(zhù)將由一組對象所共享的行為(數據和代碼).一個(gè)類(lèi)的每個(gè)對象均包含它所定義的結構與行為,這些對象就好象是一個(gè)模子鑄造出來(lái)的.所以對象也叫做類(lèi)的實(shí)例.
  
  在定義一個(gè)類(lèi)時(shí),需要指定構成該類(lèi)的代碼與數據.特別是,類(lèi)所定義的對象叫做成員變量或實(shí)例變量.操作數據的代碼叫做成員方法.方法定義怎樣使用成員變量,這意味著(zhù)類(lèi)的行為和接口要由操作實(shí)例數據的方法來(lái)定義.
  
  由于類(lèi)的用途是封裝復雜性,所以類(lèi)的內部有隱藏實(shí)現復雜性的機制.所以JAVA中提供了私有和公有的訪(fǎng)問(wèn)模式,類(lèi)的公有接口代表外部的用戶(hù)應該知道或可以知道的每件東西.私有的方法數據只能通過(guò)該類(lèi)的成員代碼來(lái)訪(fǎng)問(wèn).這就可以確保不會(huì )發(fā)生不希望的事情.
  
  4.繼承
  
  繼承是指一個(gè)對象從另一個(gè)對象中獲得屬性的過(guò)程.是面向對象程序設計的三大原則之二,它支持按層次分類(lèi)的概念.例如,波斯貓是貓的一種,貓又是哺乳動(dòng)物的一種,哺乳動(dòng)物又是動(dòng)物的一種.如果不使用層次的概念,每個(gè)對象需要明確定義各自的全部特征.通過(guò)層次分類(lèi)方式,一個(gè)對象只需要在它的類(lèi)中定義是它成為唯一的 各個(gè)屬性,然后從父類(lèi)中繼承它的通用屬性.因此,正是由于繼承機制,才使得一個(gè)對象可以成為一個(gè)通用類(lèi)的一個(gè)特定實(shí)例.一個(gè)深度繼承的子類(lèi)將繼承它在類(lèi)層次中的每個(gè)祖先的所有屬性.
  
  繼承與封裝可以互相作用.如果一個(gè)給定的類(lèi)封裝了某些屬性,它的任何子類(lèi)將會(huì )含有同樣得屬性,另加各個(gè)子類(lèi)所有得屬性.這是面向對象程序在復雜性上呈線(xiàn)性而非幾何增長(cháng)的一個(gè)重要概念.新的子類(lèi)繼承其所有祖先的所有屬性.子類(lèi)和系統中的其他代碼不會(huì )產(chǎn)生無(wú)法預料的交互作用.
  
  5.多態(tài)
  
  多態(tài)是指一個(gè)方法只能有一個(gè)名稱(chēng),但可以有許多形態(tài),也就是程序中可以定義多個(gè)同名的方法,用"一個(gè)接口,多個(gè)方法"來(lái)描述.可以通過(guò)方法的參數和類(lèi)型引用.
  
  6.封裝,繼承,多態(tài)的組合使用
  
  在由封裝,繼承,多態(tài)所組成的環(huán)境中,程序員可以編寫(xiě)出比面向過(guò)程模型更健壯,更具擴展性的程序.經(jīng)過(guò)仔細設計的類(lèi)層次結構是重用代碼的基礎.封裝能讓程序員不必修改公有接口的代碼即可實(shí)現程序的移植.多態(tài)能使程序員開(kāi)發(fā)出簡(jiǎn)潔,易懂,易修改的代碼.例如:汽車(chē)
  
  從繼承的角度看,駕駛員都依靠繼承性來(lái)駕駛不同類(lèi)型(子類(lèi))的汽車(chē),無(wú)論這輛車(chē)是轎車(chē)還是卡車(chē),是奔馳牌還是菲亞特牌,駕駛員都能找到方向盤(pán),手剎,換檔器.經(jīng)過(guò)一段時(shí)間駕駛后,都能知道手動(dòng)檔與自動(dòng)檔之間的差別,因為他們實(shí)際上都知道這兩者的共同超類(lèi):傳動(dòng)裝置.
  
  從封裝的角度看,駕駛員總是看到封裝好的特性.剎車(chē)隱藏了許多復雜性,其外觀(guān)如此簡(jiǎn)單,用腳就能操作它.發(fā)動(dòng)機,手剎,輪胎大小的實(shí)現對與剎車(chē)類(lèi)的定義沒(méi)有影響.
  
  從多態(tài)的角度看,剎車(chē)系統有正鎖反鎖之分,駕駛員只用腳踩剎車(chē)停車(chē),同樣的接口可以用來(lái)控制若干種不同的實(shí)現(正鎖或反鎖).
  
  這樣各個(gè)獨立的構件才被轉換為汽車(chē)這個(gè)對象的.同樣,通過(guò)使用面向對象的設計原則,程序員可以把一個(gè)復雜程序的各個(gè)構件組合在一起,形成一個(gè)一致,健壯,可維護的程序
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#中的繼承、封裝、多態(tài)
第七章 面向對象的程序設計
Java入門(mén)(2) 面向對象的程序設計
最好的C#入門(mén)教程程序設計
Java編程入門(mén)(1.5):對象與面向對象編程
從零學(xué)Python:第十六課-面向對象編程入門(mén)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久