(如想學習更多的專業知識,網頁設計等學習材料,請翻至文章末尾)
第二章 程序設計基礎
2.1 程序設計風格
程序設計的風格主要強調:“清晰第一,效率第二”[wx1] 。主要應注重和考慮下述一些因素:
(1)源程序文檔化。
1)符号名的命名。符号名能反映它所代表的實際東西,應有一定的實際含義。
2)程序的注釋。分為序言性注釋和功能性注釋。
序言性注釋:位于程序開頭部分,包括程序标題、程序功能說明、主要算法、接口說明、程序位置、開發簡曆、程序設計者、複審者、複審日期及修改日期等。
功能性注釋:嵌在源程序體之中,用于描述其後的語句或程序的主要功能。
3)視覺組織。利用空格、空行、縮進等技巧使程序層次清晰。
(2)數據說明。1)數據說明的次序規範化;2)說明語句中變量安排有序化;3)使用注釋來說明複雜數據的結構。
(3)語句的結構。1)在一行内隻寫一條語句;2)程序編寫應優先考慮清晰性;3)程序編寫要做到清晰第一,效率第二;4)在保證程序正确的基礎上再要求提高效率;5)避免使用臨時變量而使程序的可讀性下降;6)避免不必要的轉移;7)盡量使用庫函數;8)避免采用複雜的條件語句;9)盡量減少使用“否定”條件語句;10)數據結構要有利于程序的簡化;11)要模塊化,使模塊功能盡可能單一化;12)利用信息隐蔽[wx2] ,确保每一個模塊的獨立性;13)從數據出發去構造程序;14)不要修補不好的程序,要重新編寫。
(4)輸入和輸出。1)對輸入數據檢驗數據的合法性;2)檢查輸入項的各種重要組合的合法性;3)輸入格式要簡單,使得輸入的步驟和操作盡可能簡單;4)輸入數據時,應允許使用自由格式;5)應允許缺省值;6)輸入一批數據時,最好使用輸入結束标志;7)在以交互式輸入/輸出方式進行輸入時,要在屏幕上使用提示符明确提示輸入的請求,同時在數據輸入過程中和輸入結束時,應在屏幕上給出狀态信息;8)當程序設計語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一緻性;給所有的輸出加注釋,并設計輸出報表格式。
2.2 結構化程序設計(面向過程的程序設計方法)
1、結構化程序設計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化,限制使用goto語句。
(1)自頂向下。程序設計時,應先考慮總體,後考慮細節;先考慮全局目标,後考慮局部目标。不要一開始就過多追求衆多的細節,先從最上層總目标開始設計,逐步使問題具體化。
(2)逐步求精。對複雜問題,應設計一些子目标作過渡,逐步細化。
(3)模塊化。一個複雜問題,肯定是由若幹稍簡單的問題構成。模塊化是把程序要解決的總目标分解為分目标,再進一步分解為具體的小目标,把每個小目标稱為一個模塊。
(4)限制使用goto語句。
2、結構化程序的基本結構:順序結構,選擇結構,重複結構。
1)順序結構。一種簡單的程序設計,即按照程序語句行的自然順序,一條語句一條語句地執行程序,它是最基本、最常用的結構。
2)選擇結構。又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執行相應的語句序列。
3)重複結構。又稱循環結構,可根據給定的條件,判斷是否需要重複執行某一相同的或類似的程序段。
僅僅使用順序、選擇和循環三種基本控制結構就足以表達各種其他形式結構,從而實現任何單入口/單出口的程序。
2.3 面向對象的程序設計
客觀世界中任何一個事物都可以被看成是一個對象,面向對象方法的本質就是主張從客觀世界固有的事物出發來構造系統,提倡人們在現實生活中常用的思維來認識、理解和描述客觀事物,強調最終建立的系統能夠映射問題域。也就是說,系統中的對象及對象之間的關系能夠如實地反映問題域中固有的事物及其關系。
面向對象方法的主要優點:(1)與人類習慣的思維方法一緻;(2)穩定性好;(3)可重用[wx3] 性好;(4)易于開發大型軟件産品;(5)可維護性好。
*:面向對象的程序設計主要考慮的是提高軟件的可重用性。
對象是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向對象的程序設計方法中的對象是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位,由一組表示其靜态特征的屬性和它可執行的一組操作組成。對象是屬性和方法的封裝體。
屬性即對象所包含的信息,它在設計對象時确定,一般隻能通過執行對象的操作來改變。
操作描述了對象執行的功能,操作也稱為方法或服務。操作是對象的動态屬性。
*:一個對象由對象名、屬性和操作三部分組成。
對象的基本特點:标識惟一性,分類性,多态性,封裝性,模塊獨立性好。
(1)标識惟一性。指對象是可區分的,并且由對象的内在本質來區分,而不是通過描述來區分。
(2)分類性。指可以将具有相同屬性的操作的對象抽象成類。
(3)多态性。指同一個操作可以是不同對象的行為。
(4)封裝性。從外面看隻能看到對象的外部特性,即隻需知道數據的取值範圍和可以對該數據施加的操作,根本無需知道數據的具體結構以及實現操作的算法。對象的内部,即處理能力的實行和内部狀态,對外是不可見的。從外面不能直接使用對象的處理能力,也不能直接修改其内部狀态,對象的内部狀态隻能由其自身改變。
*:信息隐蔽是通過對象的封裝性來實現的。
(5)模塊獨立性好。對象是面向對象的軟件的基本模塊,它是由數據及可以對這些數據施加的操作所組成的統一體,而且對象是以數據為中心的,操作圍繞對其數據所需做的處理來設置,沒有無關的操作。從模塊的獨立性考慮,對象内部各種元素彼此結合得很緊密,内聚性強。
類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應類的一個實例。
消息是一個實例與另一個實例之間傳遞的信息。消息的組成包括:(1)接收消息的對象的名稱;(2)消息标識符,也稱消息名;(3)零個或多個參數。
*:在面向對象方法中,一個對象請求另一個對象為其服務的方式是通過發送消息。
繼承是指能夠直接獲得已有的性質和特征,而不必重複定義他們。繼承分單繼承和多重繼承。單繼承指一個類隻允許有一個父類,多重繼承指一個類允許有多個父類。
*:類的繼承性是類之間共享屬性和操作的機制,它提高了軟件的可重用性。
多态性是指同樣的消息被不同的對象接受時可導緻完全不同的行動的現象。
本章應考點撥:本章在考試中會出現約1個題目,所占分值大約占2分,是出題量較小的一章。本章内容比較少,也很簡單,掌握住基本的概念就可以輕松應對考試了,所以在這部分丢分,比較可惜。
“清晰第一,效率第二”是當今主導的程序設計風格。
信息隐蔽是指采用封裝技術,将程序模塊的實施細節隐藏起來,使模塊接口盡量簡單。即指在設計和确定模塊時,使得一個模塊内包含的信息(過程或數據),對于不需要這些信息的其它模塊來說,是不能訪問的。
軟件的重用是指在不同的軟件開發過程中重複使用相同或相似軟件的過程。
文件篇幅有限,将會每天定期更新數篇網頁學習、網頁制作、C 、C語言學習等等各種内部資料。請持續關注我:大千世界任君行。相信不會讓各位失望。謝謝
同時,請将您需要的文章、想學習的編程内容留言,我會根據大家喜好定期編寫大量文稿。謝謝。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!