官术网_书友最值得收藏!

1.7 什么是VB.NET的面向?qū)ο缶幊?/h2>

有了上面的VB.NET示例程序的例子,我們就可以把IDE環(huán)境下的編程歸納為按照一個確定的步驟去解決問題。這只是簡單的過程,真正富有創(chuàng)造性的和最困難的工作是進行程序主體的設(shè)計。

1.今天的程序交互

今天的計算機中GUI界面(如Windows)已經(jīng)是主流,因此利用圖形進行信息交互就成為程序設(shè)計的一個重要部分,本書將主要介紹窗體應(yīng)用程序的創(chuàng)建。早期的程序設(shè)計需要編程者在屏幕上一點一點地“畫”圖,更難的是,在編程時看不到這些點變?yōu)閳D的效果。隨著GUI技術(shù)的發(fā)展,窗口(包括控制菜單按鈕、最大/最小化窗口、關(guān)閉窗口,改變窗口大小等按鈕)、菜單、工具按鈕、對話框等GUI部件幾乎是每個應(yīng)用程序都必需的,因此語言開發(fā)商把這些公共部件預(yù)先定制,編程者使用這些定制部件時,只要給這些部件進行屬性設(shè)置(如取名、改變顏色、添加標題等),就可以在看得見的情況下完成界面的設(shè)計。

這種變化本身大大簡化了應(yīng)用程序設(shè)計,因為GUI要占到整個程序代碼的80%,如果代碼全部由編程者完成,工作量非常之大。另外一個激動人心的改變是,只要你掌握了編程語言,不一定是專業(yè)人員,同樣可以設(shè)計出過去只有專業(yè)人員才能完成的軟件!

軟件是計算機的靈魂,軟件或者叫做程序的開發(fā)需要技術(shù),更需要進行有效的“構(gòu)造”。構(gòu)造是體系,也包括方法。采用框架結(jié)構(gòu)建筑物的建設(shè)速度遠比秦磚漢瓦式的方法快。若我們把軟件開發(fā)也比做一個建筑過程,就能夠比較容易地理解其構(gòu)造及其方法的重要性。

2.面向過程和面向?qū)ο?/p>

一般說來,程序設(shè)計有面向過程和對象兩種方法,本書不打算展開討論。我們僅以VB.NET為例簡單地給出一些概念,而且建議讀者在學習完本書的相關(guān)內(nèi)容以后再回頭看看本章有關(guān)程序、程序設(shè)計、面向?qū)ο蟮囊恍┙忉專Ч苍S會更好。

(1)面向過程的編程

過程(Process)是傳統(tǒng)的編程方法。程序按照事先設(shè)計好的順序執(zhí)行。

為了解決某一個問題,如果你使用面向過程的方法設(shè)計程序,就必須知道解決這個問題的具體“過程”。也就是說,你要把解決的問題分解為一個個可以預(yù)期的步驟,然后為每個步驟設(shè)計一個算法,并讓程序按照設(shè)計好的順序解決這些問題。過程化編程語言中的每個語言元素,要么是對數(shù)據(jù)進行操作,要么是控制下一步執(zhí)行的順序。

本書的第3~5 章介紹的順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)就是面向過程編程的。我們通常接受VB 6.0是面向?qū)ο缶幊陶Z言的說法,實際上在代碼設(shè)計時,沿用的技術(shù)還是面向過程的。當然,沒有必要刻意去定位這段程序采用的是哪種編程技術(shù)。

(2)面向?qū)ο蟮木幊?/p>

面向?qū)ο螅∣bject)的編程采用與面向過程編程完全不同的方式解決問題。如果我們把數(shù)據(jù)當作對象,面向?qū)ο蟮某绦蚓褪且獙@些數(shù)據(jù)進行的一系列操作。

在結(jié)構(gòu)化編程中,數(shù)據(jù)和操作是分開的,不同的程序使用不用的數(shù)據(jù)。而在面向?qū)ο蟮木幊讨?,編程者必須首先定義類(對象或稱為實例的抽象)的數(shù)據(jù)和對這些數(shù)據(jù)的操作,再對其實例化,因此數(shù)據(jù)和操作是一個結(jié)合體。在這里,對象是主動的。

3.VB中的對象

1.4.1節(jié)中提及過“類”的概念,它是面向?qū)ο缶幊讨械闹饕獌?nèi)容,由于窗體就是一個類,創(chuàng)建窗體Form1就是創(chuàng)建了一個類,我們可以用記事本打開例1-1中的Demo.vb,可以發(fā)現(xiàn)它的首行就是Public Class Demo1。后面還會經(jīng)常使用這些類。

VB 有許多類庫可以供用戶使用,編程者也可以自己定義類。VB.NET 把自己定位于基于面向?qū)ο蟮某绦蛟O(shè)計語言。

例1-1中使用了VB的窗體和標簽控件,其實標簽也是類。當我們把標簽添加到窗體上的時候,IDE就自動為這個“標簽”類創(chuàng)建了一個對象,我們可以通過標簽發(fā)送信息,如通過標簽把發(fā)送的信息顯示在屏幕上。

有時,我們不一定要注意它們是如何通過“類”進行數(shù)據(jù)操作的,只是簡單運用了這些“類”。VB 成功地將這些“類”作為編程語言的一部分,因此編程者不一定要考慮類的某些更復(fù)雜的操縱技術(shù),如類的封裝、繼承和多態(tài)等。本書中也盡量淡化有關(guān)結(jié)構(gòu)化、過程化、對象以及看上去比較抽象的術(shù)語,這些對象僅在第16章進行介紹,本書關(guān)注發(fā)揮VB的集成特性來設(shè)計我們需要的程序。

VB 的另外一個特點是采用了“事件驅(qū)動”的編程機制。在VB中,一個對象可以產(chǎn)生多個事件,而每個事件通過一段程序代碼(稱為事件過程)響應(yīng)并處理。簡單地說,VB將一個按鍵、鼠標單擊、雙擊等這樣的操作都定義為“事件”,事件發(fā)生就觸發(fā)了相應(yīng)的事件過程(運行一段程序),以達到進行處理、操作的程序設(shè)計要求。

在VB中,控件就是一個對象,是一個類的實例化。本質(zhì)上,VB 應(yīng)用程序的實現(xiàn)代碼仍會采用結(jié)構(gòu)化和條理化編程機制,再加上面向?qū)ο蟮暮芏鄡?yōu)勢。

我們可以把VB的對象的相關(guān)概念簡單歸納如下。

① 對象(Object):程序代碼和數(shù)據(jù)的集合,VB中的控件都是對象。VB對象具有屬性、事件和方法三個要素。

② 對象的屬性(Property):對象的特征。在VB中,對象有共同的和不同的屬性,我們需要熟悉它們的常用屬性,如名稱、標題、字體、顏色、尺寸等。

③ 事件(Event):一種動作,大多數(shù)事件都是事先預(yù)制好的,如鼠標、鍵盤都可以被定義為事件。VB的事件與對象關(guān)聯(lián),以事件過程(程序代碼)對事件進行響應(yīng)處理。

④方法(Method):對象能夠執(zhí)行的操作。例如,利用消息框輸出一個文本信息就是一種操作,或者叫做方法。

本書第2章以后的各個章節(jié)中基本上都是圍繞對象屬性、事件和方法這三個要素來介紹VB編程的。

主站蜘蛛池模板: 固始县| 论坛| 通海县| 启东市| 始兴县| 龙南县| 阜宁县| 林州市| 五台县| 巫山县| 山西省| 铜梁县| 溧水县| 巨鹿县| 呈贡县| 喀喇沁旗| 涿州市| 金溪县| 衡山县| 营山县| 静海县| 浦北县| 鹿泉市| 瑞昌市| 安新县| 萝北县| 滨州市| 建湖县| 密山市| 肃宁县| 石狮市| 宜兰县| 大悟县| 云安县| 旌德县| 大田县| 察隅县| 许昌市| 佛学| 泗洪县| 平罗县|