freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機畢業(yè)論文外文翻譯---面向對象和c-其他專業(yè)(已修改)

2025-02-04 02:19 本頁面
 

【正文】 1 面向對象和 C++ C++是目前所使用的眾多編程語言中的一種。為什么會有那么多的語言?為什么總會有新的語言不斷出現(xiàn)?編程語言可以幫助程序員方便實現(xiàn)從設計到實現(xiàn)。第一個編程語言對基本的機器結構有很大的依賴性。這時程序的細節(jié)很笨重。只有硬件設計師了解如何在其他成分之外建立計算機體系,語言設計者同樣認識到程序可以在一個高水平的環(huán)境編寫,因而是程序員可以不必了解機器的細節(jié)。 為什么有這么多高水平的編程語言?有很多語言可以訪問大型數(shù)據(jù)庫,格式化金融報告,控制機器人在工廠工作,處理機件,控制衛(wèi)星實時模擬核反應堆,預測變化 的大氣層狀況,下棋和繪制電路圖。每一個問題都需要不同的數(shù)據(jù)結構和算法。程序語言作為一種工具幫助我們解決這些問題。然而,并不是一種程序語言可以最好的解決所有問題。新的語言被開發(fā)來更好的解決一類特定的問題。其他語言可以用來解決不同的問題領域和多方面的用途。每個程序語言固定一個特定的程序體系或設計程序原理。使用多種多樣的語言建立不同的設計方案。這些方案被叫做程序范例,幫助我們思考問題,規(guī)范解決。 通過范例設計軟件 當設計一個小的計算機程序或大的軟件系統(tǒng)是,我們要思考問題的解決模式。怎樣去設計一個模式?程序范例提供 了許多不同的方法去設計和思考軟件系統(tǒng)。一個范例可以被認為是一個模式或者一個框架來設計和描述軟件結構。這個模式幫助我們?nèi)ニ伎己鸵?guī)范解決。我們可以選擇一種語言,使用范例獨立的完成。當所選擇的語言提供的結構和機制符合范例時,就很容易完成。一般來說,幾種語言可能屬于同一種范例。因此,一種范例可以被看作一種語言的類。 一種語言不僅要符合一種范例,而且能夠使用多種范例提供的特性和特征?;旌险Z言,如 C++,綜合了兩到三種范例。 C++包括了命令和程序范例的特性,例如,其前身 — C,和面向對象范例。 命令范例:命令范例的特性是 計算機的抽象模型和巨大的內(nèi)存存儲。這是計算機體系的 von Neumann 模型。計算命令,由一系列的命令組成,以代碼形式存儲。命令可以使機器找到解決方法,使用指定命令改變存儲,變量讀取,算術和邏輯表達式,條件分枝控制執(zhí)行流。 程序范例:它包括了命令范例,還有對概念命令和表達的抽象機制。參數(shù),即存儲的一部分,被引進在范例中。還包括重復,選擇等特征。許多主流程序還是這種語言。程序范例在程序設計中首次引進了抽象的概念。抽象可以把動作和結果隔離。過程是抽象的表格,完成一些任務或功能。其他部分調用時,只是正確有效的執(zhí)行 ,但不清楚過程的執(zhí)行。 2 程序范例和 ADT:數(shù)據(jù)抽象使一個數(shù)據(jù)對象的行為和它的描述或執(zhí)行相分離。用戶無法看到數(shù)據(jù)的基本操作,執(zhí)行可以方便的更改而不影響程序的運行。 當我們設計一個算法時,需要一個特定的數(shù)據(jù)類型執(zhí)行算法的操作。如果可以定義變量的數(shù)據(jù)類型,而不影響到實際數(shù)據(jù)類型的運行,就可以很容易的制訂出算法。通過定義數(shù)據(jù)的用法和操作,假定可以選擇任何一種運行,這種定義就叫做抽象數(shù)據(jù)類型。抽象數(shù)據(jù)類型的使用使得算法的設計得到更大的推廣,使得我們在算法設計時,注重了算法的全面,而不會拘泥于運行的細節(jié)。當算法設計完成 時,實際的數(shù)據(jù)類型被執(zhí)行。近來,程序語言擴展到支持新的數(shù)據(jù)類型的定義和提供便利給數(shù)據(jù)抽象。 面向對象的范例:它仍然保留了許多程序范例的特征,過程仍然是計算的主要形式。但是,程序不僅僅是抽象值的運算,在面向對象范例種還有對對象的運算。對象同抽象數(shù)據(jù)類型很相似,聯(lián)系著數(shù)據(jù)和運算。 面向對象范例具有三種主要特性,第一種,壓縮,其機制是為了實施數(shù)據(jù)抽象。第二種,繼承。繼承允許從已存在的對象中創(chuàng)建新的對象。這個新創(chuàng)建的對象是原對象的具體說明。新對象的不同在于只需要提供方法或數(shù)據(jù)。當一個對象從另一個對象中被創(chuàng)建或取得時 ,就說新對象繼承了它父對象的方法和數(shù)據(jù),并增加了一些新的描述和說明。面向對象的第三種特性是多態(tài)。多態(tài)可以使不同類型的的對象對相同的信息執(zhí)行相同的操作。例如,我們有一部分對象它們可以執(zhí)行一類操作,但是只有在運行時我們才知道對象的類型。面向對象語言包含的機制確保了每一類信息傳遞給正確的對象。 壓縮,繼承和多態(tài)被認為是面向對象程序的基本特征,所有的面向對象程序語言必須提供這些特征。一般來說,語言通過不同的途徑支持這些特征的實現(xiàn)。Smalltalk, C++, ObjectiveC, 和 Lisp with CLOS (the Common Lisp Object System)這些程序語言都是面向對象語言的例子,它們都可以提供對壓縮,繼承和多態(tài)的支持。 構建一個面向對象的程序需要決定解決問題所需的對象。這些對象被用來構建計算,定義軟件系統(tǒng)的操作運行。信息的傳遞是對象間最基本的相互作用機制。信息(從其他的對象或程序)傳遞給對象,以便通知對象運行下一個操作。對象需要負責維護它所相關的數(shù)據(jù)的狀態(tài)。只有對象本身才可以改變它內(nèi)部的數(shù)據(jù)值。對象本身可以完全的調用它的子對象。一個對象的執(zhí)行是一個循環(huán)遞歸的過程,當定義這個對象和 方法的初始值是,可以跳出這個循環(huán)遞歸的過程。這時,這個方法和數(shù)據(jù)所組成的元素可以使用程序語言所提供的基本的構造函數(shù)。 學習面向對象范例最重要的一點是如何改變我們思考建造軟件體系的思路。系統(tǒng)被認為是由多個單一獨立的個體組成,其中每個個體只負責對其自身的操作的運行。每一個對象的設置和運行都是自身所包含的。由于對象常常模仿真實世界的個體的概念,因而這樣的一個模型推動了軟件方面的設計(以及后來的實行)。設計 3 一個系統(tǒng)使用面向對象的范例,從而使得系統(tǒng)的操作和運行更類似于真實世界中所對應的真實個體。 C++面向對象的特性 壓縮: C++繼承了 C 的發(fā)展,并且定義的新的方便的數(shù)據(jù)類型。一個類就像 C 的結構,但不同的是同時包括了數(shù)據(jù)和方法。除此之外, C++還提供了類中各個成員訪問權限的不同,以此方便的控制即使是在不同的類,也可以訪問類中的成員。 重復的調用一個抽象的數(shù)據(jù)可以對用戶隱藏對一個數(shù)據(jù)對象的操作細節(jié)。用戶只可以通過一個公共的接口來訪問這個對象。一個 C++的類既包括共有的部分,又包括私有的部分。公有的部分提供給用戶關于這個類的接口,私有的部分只有構造這個類的函數(shù)才可以訪問。 C++提供了關鍵字來說明類中哪些 成員是不可見的,哪 些部分是其公共接口。不可見的成員在其定義的部分標明了關鍵字 private。公共的接口部分標有關鍵字public。當一個類是私有的類時,意味著只有這個類的函數(shù)或友元可以使用它。 一個類的定義并不分配內(nèi)存。當一個數(shù)據(jù)對象被創(chuàng)建并且具有變量聲明時才分配內(nèi)存。構造函數(shù)和析構函數(shù)提供了對象的初始化和釋放功能。當一個對象被聲明時,它的構造函數(shù)初始化其在內(nèi)存的值。當對象離開它所在的范圍時,調用析構函數(shù)釋放對象。 我們不可能對用戶完全的隱藏操作的細節(jié)。 C++無法提供一個使所有細節(jié)完全排除在基本操作之外的方法,因此一個類的私 有部分必須這個類的定義,從而有效的訪問這個類的變量,并可以繼承。建造一個類可以使它方便的訪問它父類的私有成員。 C++定義了關鍵字 protected 來完成繼承的實現(xiàn)。保護成員既可以被類的成員函數(shù)訪問,也可以被派生類的成員函數(shù)訪問。和私有成員相同的一點,保護成員不可以被用戶程序訪問。 對象所需要注意的最后一點,信息的重復傳遞時對象間交流的基本功能。例如一個語句 i (),我們可以有效的把信息傳給 a2 的對象,以確定組的大小并返回其值。實際上,這里并沒有真的傳遞信息。 C++通過調用函數(shù)模擬信息的傳遞 。編譯器確保對所需要的對象調用正確的函數(shù),因此,在 C++中,可以把信息的傳遞當作函數(shù)的調用。 當設計了一種方案,一種程序語言就可以被選擇執(zhí)行??梢栽谠O計的過程中找到對象間的繼承關系,甚至可以使用傳統(tǒng)的,非面向對象的語言設計系統(tǒng)。但是,使用面向對象語言,如 C++,由于語言支持對象間的繼承關系,從而可以更方便的了解設計執(zhí)行。 C++語言是混合型的語言,它屬于多范例的語言。 C++可以認為是 C 語言的擴展的過程語言或面向對象語言。 4 C++面向對象特征 C++繼承:任何面向對象程序語言其最主要的作用就是可以從原有的類中 創(chuàng)建新的類,從而可以再次使用代碼。繼承可以從與原有的類型擴展到派生類型。 面向對象設計的一個主要操作就是要確認真實世界的個體以及各個個體之間的聯(lián)系。當設計一個軟件系統(tǒng)時,需要建立一系列的對象,并且需要互相關聯(lián)的一系列對象。有些類之間可能不是完全的相關。大部分的類之間可以歸納為繼承的關系。將一系列的類歸為一個類的層次需要明白各個類之間的關系和他們之間的細節(jié)。但不是所有的類之間都可以建立繼承的關系。 C++提供了三種方式的繼承:公有繼承,私有繼承,保護繼承。這些不同的方式應用在不同的對象間關系。 第一種關系是 ISA 關系。這種關系是類型與類型,類與類之間特有的關系。 ISA繼承指兩個類,其中一個類描述了對對象的說明,對對象的設置說明由另一個類來說明。 ISA 的關系是傳統(tǒng)的繼承關系,也就是派生類型。派生類型是一些基本類型即父類型的專門化,在 C++中,超級類型就是基類,派生類型就是派生類。 在 C++中執(zhí)行 ISA 關系需要使用公有繼承。在基類中的公共部分使用公有繼承,在派生類中也是公有的部分,在基類中的保護部分使用公有繼承,在派生類中也變成保護的部分 有時在兩個對象之間的關系也許是包含關系,也可以是部分整體之間的關系。不是所有對象它都是其他對象的一個專門說明和繼承,可能這些對象有些是其他對象的一部分或是包含在其他的對象中。 在 C++中使用 HASA 關系可以使用成員或是私有繼承。例如,一個堆??梢员划斪饕粋€數(shù)組使用。我們可以使用堆棧作為一個數(shù)據(jù)成員 ,或者使用私有繼承,從數(shù)組類中繼承堆棧類。 可以在兩個類之間使用繼承創(chuàng)建一個互相包含的關系。私有繼承只有在不是接口的部分可以被使用,基類是一個細節(jié)的執(zhí)行。在私有繼承的情況下,原來基類中的公有部分和保護部分,在派生類中都變?yōu)樗接胁糠?。派生類的使用者不可以訪問基類中的接口。但是派生類 中的成員函數(shù)可以自由的訪問或調用基類中的公共部分和私有部分。當這樣使用基類中的成員時,用戶不可以只依靠繼承來編寫代碼。這是一個修改為不同的基類的運行。繼承的另一種方式,也是很少使用的一種方式就是保護繼承。保護繼承也是一種可以使用 HASA 關系的繼承。當使用保護繼承時,在基類中的公有部分和保護部分,在派生類中就都變?yōu)楸Wo部分。當繼承是接口的部分時,派生類要使用保護繼承,但是不是接口的所有部分都可以被用戶使用。一個保護的基類類似于一個私有的基類,不同在于繼承的派生類可以知道接口部分。 如果可以的話,最好使用數(shù)據(jù) 成員。這時當你必須重復使用基類中的函數(shù)時,可以使用其繼承。如果你所有的派生類是基類的一個說明構造時,只有使用公有繼承,否則,要使用私有繼承。當在不必要時使用繼承,會使系統(tǒng)更加難以理解。 5 總之,一個類有兩個主要的接口:一個是給用戶所使用的(公共接口),另一個派生類所使用(公有部分和保護部分的聯(lián)合)。繼承的部分是基本相同的。在基類中的公共接口使用公有繼承,在派生類中隊用戶也是公有接口。在基類中的公共部分和保護部分使用保護繼承,在派生類中可以使用成員函數(shù),但并不對派生類的所有用戶。最后,當在基類中的公共部分和保護 部分使用私有繼承,基類可以調用,但用戶和派生類不可以使用。 C++多態(tài):多態(tài)是面向對象程序的三個特性中最重要的部分。多態(tài),和繼承一起,對面向對象程序有很大的用途。多態(tài),就是說有多個形式,提供一個基本的軟件接口以建立不同類型的對象操作的統(tǒng)一的方式。 C++提供了三種類型的多態(tài):虛函數(shù),函數(shù)重載和運算符重載。 虛函數(shù)可以使繼承的同層相關的對象用同一種方式操作。當所有的函數(shù)傳遞同樣的信息值時,虛函數(shù)的機制確保在動態(tài)運行時了調用正確的函數(shù)。一個類的普通的成員函數(shù)是靜態(tài)的單一的過程,在編譯時調用。它只有一個對成員函數(shù)的 說明使用于類中所有的例子。 當定義一個成員函數(shù)時,在它前面加上關鍵字 virtual,實際過程的調用依賴于對象實例的類型,通過這樣來判斷如何調用。這是一個動態(tài)的約束。靜態(tài)方式的束定也叫做早期束定。 虛函數(shù)機制可以通過一個基類的參數(shù)或指針調用。一個基類的指針可以指向一個基本類型的對象或任何從基類派生出的類型的對象。虛函數(shù)也可以用在邏輯的運算上。一個類是抽象的類當這個類是繼承的根節(jié)點時。一個類當它只有虛函數(shù)的定義而沒有實現(xiàn)時是抽象類。這些函數(shù)在類定義時被賦予 0 值。派生類必須給出他們的實現(xiàn)。 另一個多態(tài)的形式是函數(shù) 重載。當一個函
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1