亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發 > 正文

漫談面向對象

2023-06-18 12:51:30
字體:
來源:轉載
供稿:網友

如果你采用了或者考慮采用面向對象編程(OOP)技術,那么你至少應該弄清楚OOP到底具備什么含義、為什么要采用OOP技術。下面我提出一些你應該了解的有關技術術語,同時談談這些概念對你的解決方案而言所具備的意義。

為什么要使用OOP?

對象概念對軟件解決方案具有莫大的好處,在設計優秀合理的情況下尤其如此。你可以只編寫一次代碼而在今后反復重用,而在非OOP的情況下你則多半要在應用程序內部各個部分反復多次編寫同樣的功能代碼。所以說,由于面向對象編程減少了編寫代碼的總量,從而加快了開發的進度同時降低了軟件中的錯誤量。

用來創建對象的代碼還可能用于多個應用程序。比方說,你的團隊可以編寫一組標準類來計算你的可用資源,然后用這些代碼在所有需要同類對象的解決方案中創建對象,比如客戶定單接口、股票價值報表和發給銷售隊伍的通知等等。

OOP的另一優點是對代碼結構的影響。像繼承之類的面向對象概念通過簡化變量和函數的方式而便利了軟件的開發過程。OOP可以更容易地在團隊之間劃分編碼任務。同時,由于采用OOP,辨別子類代碼的依附關系也變得更簡單了(比如說繼承對象的代碼)。此外,軟件的測試和調試也得以大大簡化。

但是OOP也存在一些固有的缺點。假如某個類被修改了,那么所有依賴該類的代碼都必須重新測試,而且還可能需要重新修改以支持類的變更。還有,如果文檔沒有得到仔細的維護,那么我們很難確定哪些代碼采用了父類(被繼承的代碼)。假如在開發后期發現了軟件中的錯誤,那么它可能影響應用程序中的相當大部分的代碼。

面向對象編程在編程思想上同傳統開發不同,需要開發人員轉變傳統開發中所具備的慣性思維方式。對一個有經驗的OOP開發隊伍來說,采用OOP的好處是顯而易見的。如果你正在考慮轉向OOP,那么你必須保證已經擁有了富有經驗的主要開發人員能負責地檢查軟件中的缺陷和體系結構。

下面我們就看看OOP技術到底能為你做些什么;了解了解有關的概念和術語。

對象定義

對象是建立面向對象程序所依賴的基本單元。用更專業的話來說,所謂對象就是一種代碼的實例,這種代碼執行特定的功能,具有自包含或者封裝的性質。這種封裝代碼通常叫做類、對象類或者模塊或者在不同編程語言中所應用的其他名稱。以上這些術語在含義上稍微有些不同,但它們都是代碼的集合。

正如我上面提到的那樣,對象本身是類或者其他數據結構的實例。這就是說,現有的物理代碼起到了創建對象的模版作用。執行特定功能的代碼只需要編寫一次卻被引用多次。每一種對象具有自己的標識,也就是令對象相互區別的對象名稱。

對象并不是類的實際拷貝。每一對象都有自己的名稱空間,在這種名稱空間中保存自己的標識符和變量,但是對象要引用執行函數的原有代碼。 “封裝”的對象具有自己的函數,這種函數被稱作“方法”,而對象的變量則被稱為屬性。當對象內部定義了屬性的時候,它們通常不能擴展到實例以外。假設我現有一個類叫vegetable(蔬菜),同時又創建了兩個對象實例 carrot(胡蘿卜)和 celery(芹菜),那么我給carrot設置的值就不會影響到celery內部的值。vegetable自身內部的變量卻永遠不會得到定義,因為vegetable類只是一種模版。

在特定的場合下,有些函數確實會影響類而不是由類所創建的對象。類屬性指的是專門設計來保留對象之間所用的值。類方法則用來定義和跟蹤類屬性。

某些編程語言可以讓用戶調用類的函數而不是創建整個實例。如果函數被分配以標識符(或者句柄),在某些情況下它們可以被視做具有自身權限的對象。不過,在大多數的情況下函數只是用來實現某種結果的方法。

現在你已經明白了對象的含義,接下來我,們就談談對象是怎么使用的。

使用對象

在主程序里,定義對象的類通過實例化的方式構造對象。對象所具有的所有方法都可以用來創建所希望的結果,而屬性則可以被引用和操作。當對象不再需要的情況下,主程序可以破壞對象。

對象類有一種功能強大的特性,這就是它們可以繼承其他類。這就意味著,如果我們編寫了某個potato(土豆)類,那么它就可以繼承vegetable類而防止我們重新編寫已經存在的功能。Vegetable類可用的所有函數都可以被potato類使用。進而,vegetable又可以繼承food(食品)類,以此類推。

某些OOP編程語言還具有動態綁定(dynamic binding)的概念。這項技術也被稱做多重繼承。比如說,potato類可以繼承vegetable和starch(淀粉)類。不過這樣可能會產生一些問題,比如兩種類都具有同樣名稱的一些屬性。在具體處理多重繼承概念的時候各種語言的方式是不同的,某些語言完全禁用這一概念。

在繼承了類后,我們可以通過重載方法來獲得希望的結果。比如,我的vegetable類可能有一個函數名叫prepare,該方法主要指導你如何備菜??墒?,在實例化potato類的時候我希望其中包含與土豆有關的特殊定義,于是我創建了一個函數,它的名字和蔬菜類中的備菜函數名一樣但卻修改了原有的函數行為。如果我沒有重載prepare方法,則用到的是vegetable類中的函數。這就叫多態性(polymorphism)。

多態性的另一方面涉及到對象方法的類型一致性問題。這樣有助于保證所引用的函數具有以下關系:如果我能夠實例化vegetable對象,那么我就應該能夠實例化potato對象。這是因為potato是vegetable.的子類。可是,因為vegetable并不是potato的子類,所以反過來的實例化卻是不允許的。如果我實例化了potato對象,那么我就不需要實例化vegetable對象了。

如何定義多態性有各種觀點,而其最終用途卻是同樣的。無論如何,這是一種重要的OOP概念。再結合繼承技術,顯然OOP為什么具有如此強大開發功能的原因不言自明。

小結

本文的意圖并不在于深度解釋面向對象編程技術,我介紹的關鍵詞和術語只是對現有只是的淺嘗輒止。如果你初次接觸OOP或者頭一回讀到有關的概念,我希望你現在能明白OOP技術成為現代軟件開發主流的原因。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费一区二区三区香蕉精| 精品中文字幕在线2019| 国产香蕉精品视频一区二区三区| 97成人精品区在线播放| 亚洲国内精品在线| 欧美精品在线播放| 亚洲free性xxxx护士白浆| 久久理论片午夜琪琪电影网| 久久夜色撩人精品| 久久99精品视频一区97| 成人午夜黄色影院| 亚洲第一网中文字幕| 亚洲国产小视频| 成人在线视频网| 久久久精品久久久| 国产精品久久中文| 国产一区二区丝袜| 91久久夜色精品国产网站| 日韩不卡在线观看| 成人免费淫片视频软件| 国产精品情侣自拍| 久久久成人的性感天堂| 久久亚洲欧美日韩精品专区| 欧美中文字幕视频在线观看| 欧美日韩国产一区中文午夜| 国产美女扒开尿口久久久| 狠狠躁夜夜躁人人爽天天天天97| 亚洲欧洲高清在线| 在线观看亚洲视频| 日韩av在线网址| 国产成人精品免高潮费视频| 亚洲风情亚aⅴ在线发布| 国产欧美日韩中文字幕| 欧美激情第99页| 成人精品视频99在线观看免费| 奇门遁甲1982国语版免费观看高清| 国产精品久久久久久久电影| 在线观看久久久久久| 在线国产精品播放| 欧美亚洲视频在线观看| 欧美韩国理论所午夜片917电影| 爱福利视频一区| 欧美性色19p| 欧美专区国产专区| 中文字幕亚洲色图| 综合欧美国产视频二区| 在线色欧美三级视频| 亚洲激情 国产| 韩国19禁主播vip福利视频| 久久韩剧网电视剧| 亚洲人成在线观看网站高清| 欧美国产第一页| 国产欧美精品一区二区三区介绍| 精品欧美激情精品一区| 亚洲一区二区久久| 亚洲精品资源在线| 91精品国产电影| 在线激情影院一区| 国产精品久久久久久久久久尿| 日韩成人激情影院| 国产精品一区二区三| 国产热re99久久6国产精品| 日韩欧美在线观看| 国产精品久久婷婷六月丁香| 国产一区二区三区四区福利| 一区二区三区视频免费在线观看| 中文字幕不卡在线视频极品| 亚洲天堂影视av| 亚洲欧美激情在线视频| 日韩av快播网址| 久久免费成人精品视频| 亚洲深夜福利网站| 亚洲国产精品大全| 国产精品美女www爽爽爽视频| 亚洲欧洲在线播放| 91成品人片a无限观看| 国产精品精品一区二区三区午夜版| 久久久久久尹人网香蕉| 亚洲va欧美va在线观看| 青青a在线精品免费观看| 欧美极品少妇xxxxx| 91精品国产99久久久久久| 欧美日韩在线视频一区二区| 久久成人人人人精品欧| 日本伊人精品一区二区三区介绍| 亚洲自拍偷拍视频| 亚洲精品wwwww| www.亚洲男人天堂| 中文一区二区视频| 岛国精品视频在线播放| 国产一区红桃视频| 国产精品视频白浆免费视频| 超碰精品一区二区三区乱码| 国产亚洲欧美aaaa| 精品爽片免费看久久| 国产精品久久久久久久久粉嫩av| 久热精品视频在线观看一区| 日韩av在线电影网| 最近2019中文字幕第三页视频| 国产日本欧美视频| 久久精品亚洲精品| 夜夜嗨av一区二区三区四区| 国产福利精品av综合导导航| 亚洲japanese制服美女| 中文字幕欧美日韩精品| 亚洲精品中文字幕有码专区| 国产精品久久精品| 日韩欧美a级成人黄色| 日韩国产精品亚洲а∨天堂免| 久久精品国产96久久久香蕉| 国产精品欧美亚洲777777| 第一福利永久视频精品| 伊是香蕉大人久久| 国内外成人免费激情在线视频| 欧美日韩美女视频| 欧美激情手机在线视频| 国外成人免费在线播放| 九九热这里只有精品免费看| 日韩美女毛茸茸| 久久精品中文字幕一区| 欧美韩国理论所午夜片917电影| 亚洲精品狠狠操| 国产一区深夜福利| 国产大片精品免费永久看nba| 日本中文字幕不卡免费| 日韩大陆毛片av| 国产精品久久久久99| 4388成人网| 国产精品久久久久久久久久ktv| 亚洲国产精品高清久久久| 精品久久久久久久久久久| 51久久精品夜色国产麻豆| 日本不卡视频在线播放| 国产精品自拍偷拍| 亚洲欧美日韩成人| 欧美乱大交xxxxx另类电影| 日本一区二区三区在线播放| 欧美激情高清视频| 中文字幕精品一区二区精品| 国产精品嫩草影院一区二区| 精品视频—区二区三区免费| 欧美理论电影网| 久久久噜噜噜久噜久久| 欧美怡红院视频一区二区三区| 欧美日韩午夜视频在线观看| 日韩av在线天堂网| 国产免费一区二区三区香蕉精| 亚洲自拍偷拍福利| 欧美激情中文字幕在线| 精品国产户外野外| 日韩成人激情影院| 国产日韩欧美中文在线播放| 91在线无精精品一区二区| 欧美激情精品久久久久久蜜臀| 欧美日本黄视频| 成人精品视频99在线观看免费| 欧美高清视频在线播放| 97成人精品区在线播放| 久久精品国产99国产精品澳门| 亚洲午夜小视频| 亚洲无限乱码一二三四麻| 亚洲精品小视频在线观看| 一区二区三区www| 尤物99国产成人精品视频|