作者:趙櫟安
本系列文章主要闡述以下幾個(gè)問(wèn)題:
(1)什么是面向對象編程?
(2)為什么要學(xué)習面向編程?
(3)LabVIEW面向編程學(xué)習為什么有點(diǎn)難?
(4)LabVIEW面向對象的編程架構:Actor Framework
(5)范例若干
一、什么是面向對象
學(xué)習新知識,首先要搞明白定義。關(guān)于面向對象的定義,這里引用了百度百科的資料:
面向對象(Object Oriented)是軟件開(kāi)發(fā)方法。面向對象的概念和應用已超越了程序設計和軟件開(kāi)發(fā),擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網(wǎng)絡(luò )管理結構、CAD技術(shù)、人工智能等領(lǐng)域。面向對象是一種對現實(shí)世界理解和抽象的方法,是計算機編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。 面向對象是相對于面向過(guò)程來(lái)講的,面向對象方法,把相關(guān)的數據和方法組織為一個(gè)整體來(lái)看待,從更高的層次來(lái)進(jìn)行系統建模,更貼近事物的自然運行模式。
面向對象的幾大特性如下:
(1)對象唯一性。
每個(gè)對象都有自身唯一的標識,通過(guò)這種標識,可找到相應的對象。在對象的整個(gè)生命期中,它的標識都不改變,不同的對象不能有相同的標識。
(2)抽象性。
抽象性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類(lèi)。一個(gè)類(lèi)就是這樣一種抽象,它反映了與應用有關(guān)的重要性質(zhì),而忽略其他一些無(wú)關(guān)內容。任何類(lèi)的劃分都是主觀(guān)的,但必須與具體的應用有關(guān)。
(3)繼承性。
繼承性是子類(lèi)自動(dòng)共享父類(lèi)數據結構和方法的機制,這是類(lèi)之間的一種關(guān)系。在定義和實(shí)現一個(gè)類(lèi)的時(shí)候,可以在一個(gè)已經(jīng)存在的類(lèi)的基礎之上來(lái)進(jìn)行,把這個(gè)已經(jīng)存在的類(lèi)所定義的內容作為自己的內容,并加入若干新的內容。
繼承性是面向對象程序設計語(yǔ)言不同于其它語(yǔ)言的最重要的特點(diǎn),是其他語(yǔ)言所沒(méi)有的。
在類(lèi)層次中,子類(lèi)只繼承一個(gè)父類(lèi)的數據結構和方法,則稱(chēng)為單重繼承。
在類(lèi)層次中,子類(lèi)繼承了多個(gè)父類(lèi)的數據結構和方法,則稱(chēng)為多重繼承。
在軟件開(kāi)發(fā)中,類(lèi)的繼承性使所建立的軟件具有開(kāi)放性、可擴充性,這是信息組織與分類(lèi)的行之有效的方法,它簡(jiǎn)化了對象、類(lèi)的創(chuàng )建工作量,增加了代碼的可重用性。
采用繼承性,提供了類(lèi)的規范的等級結構。通過(guò)類(lèi)的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。
(4)多態(tài)性(多形性)
多態(tài)性是指相同的操作或函數、過(guò)程可作用于多種類(lèi)型的對象上并獲得不同的結果。不同的對象,收到同一消息可以產(chǎn)生不同的結果,這種現象稱(chēng)為多態(tài)性。
多態(tài)性允許每個(gè)對象以適合自身的方式去響應共同的消息。
多態(tài)性增強了軟件的靈活性和重用性。
簡(jiǎn)單的描述,就是用基于對象為基礎單元,去構建編程的實(shí)現,實(shí)現程序更好的開(kāi)發(fā)、維護、迭代。如果想要更好的學(xué)習這個(gè)概念,推薦兩本講解的面向對象編程很經(jīng)典的圖書(shū):
有需求的朋友,可以從下面鏈接自行下載電子書(shū)
鏈接:https://pan.baidu.com/s/19LZMiQ050jScOz22acVY9Q
提取碼:di4c
QQ:94737555
電 話(huà):13256768669
傳 真:0531-85880888
郵 箱:94737555@qq.com
地 址:山東省濟南市槐蔭區經(jīng)十路27566號財富壹號廣場(chǎng)2號樓