- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程式设计要领
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 選擇結構 控制結構設計(2) 重複結構 控制結構設計(3) 封裝(encapsulation) 它的作用是將物件的功能細節加以隱藏,而只顯示出所提供的功能介面,例如您可以使用滑鼠來點選(click)螢幕中的視窗,但是不需要了解滑鼠的內部構造,與滑鼠與電腦間的溝通方式。 例如在C++中,是以類別(class)來實作抽象化資料型態(abstract data type, ADT),物件內的資料只能由物件本身的函數來存取,其他物件內函數不可以直接存取資料,這樣的功能稱為「資訊隱蔽」(information hiding)。 物件導向設計(1) 繼承(inheritacne) 在以往程式設計語言,經常提供許多功能性的程式庫給程式設計師使用,不過一旦某些公用程式必須做調整,就得重新撰寫程式,這樣無法達到程式的重複使用性(reusability)。 而物件導向程式設計所支援的「繼承」性,正可提高程式的重複使用性。 C++允許使用者建立新的類別來接收一個已存在類別的資料與方法,並且可視需要新增方法或修改繼承而來的方法,稱為覆載(override)。 物件導向設計(2) 多形(polymorphism) 多形最直接的定義就是讓具有繼承關係的不同類別物件,可以呼叫相同名稱的成員函數,並產生不同的反應結果。 如下圖同樣是計算長方形及圓形的面積與周長,就必須先定義長方形以及圓形的類別,當程式要畫出長方形時,主程式便可以根據此類別規格產生新的物件,如下圖所示: 物件導向設計(3) C++的物件導向功能 ,C++並不是一套絕對的物件導向語言,這點和Java 語言是完全不同。但由於C++是以C 語言為基礎平台,因此除了保有全部C 語言的優點外,更與C 語言相容,使得大部份在C 語言上所撰寫的程式碼,C++仍然可以繼續使用。 1-4 物件導向設計與C++ 在C++中,一個類別的原型宣告語法如下: 類別的基本觀念(1) 資料成員(Data Member) 類別資料成員的宣告和一般的變數宣告相似,唯一不同之處是類別的資料成員可以設定存取權限。通常資料成員的存取層級皆設為private,若要存取資料成員,則要透過所謂的成員函數。宣告的語法如下: 類別的基本觀念(2) 成員函數(Member Function) 通常運用於內部狀態改變的操作,或是與其它物件溝通的橋樑。 與一般的函數的定義類似,只不過是封裝在類別中,函數的個數並無限定。宣告的語法如下: 類別的基本觀念(3) 在類別宣告的兩個大括號{}中可利用存取層級關鍵字來定義類別所屬成員,存取層級關鍵字可區分為以下三種: 存取層級關鍵字(1) private:代表此區塊是屬於私有成員,具有最高的保護層級。也就是此區塊內的成員只可被此物件的成員函數所存取,在類別中的預設存取型態為私有成員,即使不加上關鍵字private 也無妨。 protected:代表此區塊是屬於保護成員,具有第二高的保護層級。外界無法存取宣告在其後的成員,此層級主要讓繼承此類別的新類別能定義該成員的存取層級,也就是專為繼承關係量身訂作的一種存取模式。 存取層級關鍵字(2) public:是代表此區塊是屬於公用成員,完全不受限外界對宣告在其後的成員,此存取層級具有最低的保護層級。此區塊內的成員是類別提供給使用者的介面,可被其它物件或外部程式呼叫與存取。通常為了實現資料隱藏的目的,只會將成員函數宣告為public 存取型態。 存取層級關鍵字(3) 單一繼承 是指衍生類別只繼承單獨一個基本類別。在單一繼承的關係中,衍生類別的宣告如下: 繼承關係(1) 多重繼承 是指衍生類別繼承自多個基本類別,而這些被繼承的基本類別相互之間可能都沒有關係。簡單的說,就是一種直接繼承的型態,它直接繼承了兩個或多個的基礎類別。而這些被繼承的基礎類別之間因為並無任何繼承或朋友關係存在,所以彼此無法互相存取。如下圖所示: 繼承關係(2) 多重類別繼承宣告運算式如下: 類別繼承就是一種多形,只要在繼承後,新增或改變基礎類別的狀態及行為,就達到類別多形的效果。類別中要達到多型的目的,可以透過以下三種方式: 多形 遞迴的定義(1) 例如我們知道階乘函數是數學上很有名的函數,對遞迴式而言,也可以看成是很典型的範例,我們一般以符號“!”來代表階乘。如4 階乘可寫為4!,n!可以寫成: 各位可以一步分解它的運算過程,觀察出一定的規律性: 1-5 遞迴演算法 C++的遞迴函數演算法可以寫成如下: 遞迴的定義(2) 直接遞迴(Direct Recursion):指遞迴函數中
有哪些信誉好的足球投注网站
文档评论(0)