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

正文內(nèi)容

c程序設(shè)計(jì)實(shí)踐教程ppt(編輯修改稿)

2025-02-15 08:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 讀或?qū)憽傩缘男揎椃梢允?public和protected、 internal、 private的有效組合、 static、 virtual、override或 abstract中的一個(gè)。其中帶 static修飾符的為靜態(tài)屬性,帶 virtual修飾符的為虛擬屬性,帶 override修飾符的為覆蓋屬性,帶 abstract修飾符的為抽象屬性。 54 重載成員 上一節(jié)中最后一個(gè)代碼示例中,定義了多個(gè)方法 F,主函數(shù)中也多次調(diào)用方法 F。這就是重載。由于方法 F的名字雖然相同,但它們?cè)趨?shù)類(lèi)型或參數(shù)個(gè)數(shù)上不同。這使得在這些重復(fù)調(diào)用的時(shí)候沒(méi)有發(fā)生“沖突”。 重載表示兩個(gè)或兩個(gè)以上的函數(shù)具有相同的名稱(chēng)不同的參數(shù)列表(包括參數(shù)類(lèi)型和參數(shù)個(gè)數(shù))。通過(guò)為多個(gè)方法指定相同的名稱(chēng),但使它們具有不同的參數(shù)列表,可以在類(lèi)中創(chuàng)建重載的方法。調(diào)用的時(shí)候根據(jù)參數(shù)列表的不同來(lái)正確的調(diào)用。 成員函數(shù)可以重載,就是說(shuō)有兩個(gè)或兩個(gè)以上同名的成員函數(shù),但它們的參數(shù)列表不同(參數(shù)類(lèi)型和參數(shù)個(gè)數(shù))。 55 構(gòu)造函數(shù)和析構(gòu)函數(shù) 構(gòu)造函數(shù)是類(lèi)的實(shí)例執(zhí)行的時(shí)候的初始化操作。而析構(gòu)函數(shù)是在類(lèi)的破壞時(shí)自動(dòng)執(zhí)行的操作。構(gòu)造函數(shù)的名稱(chēng)與類(lèi)的名稱(chēng)相同,析構(gòu)函數(shù)的名稱(chēng)是由“ ~” 和類(lèi)名組成的。 例如,如果一個(gè)類(lèi)類(lèi)名為 Myclass,那么它的構(gòu)造函數(shù)的名稱(chēng)是 Myclass(),析構(gòu)函數(shù)的名稱(chēng)是 ~Myclass()。 56 構(gòu)造函數(shù) 構(gòu)造函數(shù)是在類(lèi)的實(shí)例執(zhí)行時(shí)初始化的方法。由于這個(gè)特性使得構(gòu)造函數(shù)成為需要執(zhí)行的所有初始化任務(wù)(如設(shè)置變量和屬性的初始值)的理想位置。 每個(gè)類(lèi)都有自己的構(gòu)造函數(shù)。在訪問(wèn)這個(gè)類(lèi)的時(shí)候系統(tǒng)最先執(zhí)行的就是這個(gè)構(gòu)造函數(shù)。 使用構(gòu)造函數(shù)時(shí)需要注意: – 類(lèi)的構(gòu)造函數(shù)名要與類(lèi)名相同。 – 構(gòu)造函數(shù)沒(méi)有返回類(lèi)型。 – 一般情況下構(gòu)造函數(shù)是 public類(lèi)型的。 – 不能顯式的調(diào)用構(gòu)造函數(shù)。 57 訪問(wèn)修飾符 不管是在定義數(shù)據(jù)成員還是在定義功能成員時(shí),在前面都要加上一些修飾符: public、protected、 internal和 private(修飾符 private可以省去)。這些修飾符在前面也提到過(guò),他們的作用是控制聲明類(lèi)型的可訪問(wèn)性?,F(xiàn)在詳細(xì)介紹一下它們控制聲明類(lèi)型的可訪問(wèn)性。 public、 protected、 internal和 private叫做訪問(wèn)修飾符,用于指定聲明的成員或類(lèi)型的可訪問(wèn)性。 58 類(lèi)事件 事件的定義是:在 C中,事件就是指當(dāng)對(duì)象有重要情況發(fā)生時(shí),類(lèi)通知類(lèi)的客戶(hù)程序的辦法。事件最為常見(jiàn)的用途就是圖形用戶(hù)界面,即當(dāng)用戶(hù)對(duì)界面控件進(jìn)行操作時(shí),如選擇一個(gè)命令,就激發(fā)了表示控件的類(lèi)的事件。 簡(jiǎn)單的說(shuō),事件是使得類(lèi)和對(duì)象提供通知的成員。用戶(hù)在使用時(shí),可以通過(guò)提供事件句柄來(lái)為事件添加可執(zhí)行代碼。 59 60 第 6章 繼承及多態(tài)性 C是一種面向?qū)ο蟮木幊陶Z(yǔ)言,它同樣具有面向?qū)ο缶幊痰囊恍┨攸c(diǎn)。前面我們已經(jīng)詳細(xì)了解了類(lèi)、對(duì)象、屬性和構(gòu)造函數(shù)等,它們是面向?qū)ο蟮幕A(chǔ)知識(shí),這里我們?yōu)榇蠹抑v解面向?qū)ο缶幊痰母顚哟蔚膯?wèn)題,這些深入的問(wèn)題包括了繼承性、多態(tài)性和異常等其他一些相關(guān)的知識(shí)。 繼承性是從現(xiàn)有的類(lèi)中派生出新類(lèi)的功能,它能分析多態(tài)性的細(xì)微差別,并允許創(chuàng)建類(lèi)層次結(jié)構(gòu),使用繼承可以創(chuàng)建一個(gè)定義了多個(gè)相關(guān)項(xiàng)目共有特性的通用類(lèi);多態(tài)性對(duì)于初學(xué)者來(lái)說(shuō)比較難以接受,要使多態(tài)發(fā)揮作用需要有復(fù)雜的條件;異常是 C中處理錯(cuò)誤的機(jī)制。除了這些知識(shí)我們還將為你介紹C中的作用域、抽象類(lèi)和自定義異常處理等知識(shí),本章的學(xué)習(xí)將為深入了解 C面向?qū)ο蟪绦蛟O(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ)。 61 本章學(xué)習(xí)要點(diǎn) ? 了解繼承的概念 ? 掌握繼承的使用方法 ? 了解作用域和繼承的關(guān)系 ? 掌握抽象類(lèi) ? 掌握重寫(xiě)成員 ? 了解構(gòu)造函數(shù)和繼承的關(guān)系 ? 掌握多態(tài)性 ? 掌握異常處理 62 繼承 繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)中一個(gè)很重要的特性,它是關(guān)于一個(gè)類(lèi)怎么從另一個(gè)類(lèi)中共享特性和行為的術(shù)語(yǔ)。在 C中繼承類(lèi)稱(chēng)為派生類(lèi)或子類(lèi),被繼承類(lèi)稱(chēng)為基類(lèi)或父類(lèi)。如果一個(gè)派生類(lèi)繼承一個(gè)基類(lèi),那么這個(gè)派生類(lèi)會(huì)從其基類(lèi)中繼承得到所有的操作、屬性、特性、事件以及這些內(nèi)容的實(shí)現(xiàn)方法,而基類(lèi)中實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)和表態(tài)構(gòu)造函數(shù)不會(huì)被繼承,同時(shí)也不會(huì)繼承那些顯式拒絕訪問(wèn)的成員。 派生類(lèi)能夠繼承基類(lèi)的方法、特性等,但繼承得到的成員也受作用域的限制,即使派生類(lèi)繼承得到基類(lèi)成員,也可能無(wú)法訪問(wèn)。對(duì)于作用域和繼承的關(guān)系,我們將在下面的章節(jié)中為大家詳細(xì)講解。 作用域和繼承 類(lèi)中的實(shí)例變量有三種聲明方式: public、protect和 private。它們來(lái)控制訪問(wèn)成員的權(quán)限,繼承一類(lèi)不會(huì)超越 private訪問(wèn)的限制。盡管一個(gè)派生類(lèi)擁有其基類(lèi)的所有成員,但它依然受到這三種聲明方式的限制。 C中派生類(lèi)無(wú)權(quán)訪問(wèn)其基類(lèi)的 private成員,但可以訪問(wèn)其 public成員。派生類(lèi)和外部代碼都可以訪問(wèn) public成員。 63 重寫(xiě)成員 在基類(lèi)中的成員可能執(zhí)行與派生類(lèi)中同名成員的不同任務(wù),或者派生類(lèi)中成員必須提供基類(lèi)中對(duì)應(yīng)抽象成員的實(shí)現(xiàn)方式,這種過(guò)程稱(chēng)為重寫(xiě)。本節(jié)將詳細(xì)為大家講解重寫(xiě)成員的相關(guān)知識(shí),同時(shí)詳細(xì)介紹 base關(guān)鍵字的使用方法。 64 抽象類(lèi)與繼承 需要時(shí)我們創(chuàng)建一個(gè)基類(lèi),該類(lèi)本身不提供已經(jīng)實(shí)現(xiàn)的方法,只定義了所有子類(lèi)共享的一般形式,至于實(shí)現(xiàn)方法的內(nèi)容交給子類(lèi)去填充。在這種情況下就需要一些方法來(lái)確保子類(lèi)繼承并實(shí)現(xiàn)基類(lèi)中方法的必要條件,這里我們可以使用抽象類(lèi)。定義抽象類(lèi)的一般形式如下所示: public abstract class A { ….. } 65 繼承和構(gòu)造函數(shù) 基類(lèi)成員的初始化工作由基類(lèi)的構(gòu)造函數(shù)完成,而派生類(lèi)的初始化工作由派生類(lèi)的構(gòu)造函數(shù)完成。這就產(chǎn)生了派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序問(wèn)題,即當(dāng)創(chuàng)建一個(gè)派生類(lèi)的對(duì)象時(shí),如何調(diào)用基類(lèi)和派生類(lèi)的構(gòu)造函數(shù)分別完成各自成員的初始化。同時(shí),在基類(lèi)構(gòu)造函數(shù)的繼承性上了 66 多態(tài)性 多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)中的又一個(gè)重要的概念,多態(tài)性是指通過(guò)基類(lèi)引用,依靠執(zhí)行多個(gè)派生類(lèi)的方法,使程序執(zhí)行動(dòng)態(tài)操作。簡(jiǎn)單地說(shuō),多態(tài)是以同樣的方法處理不同對(duì)象的能力。這樣來(lái)說(shuō),就是對(duì)象的運(yùn)行時(shí)刻的類(lèi)型決定它的行為,而不是它的引用的編譯時(shí)間時(shí)間的類(lèi)型決定它的行為,這是一個(gè)動(dòng)態(tài)的過(guò)程。 C中每種類(lèi)型都是多態(tài)的。 67 異常處理 也許你還記得第三章中,我們?cè)?jīng)寫(xiě)過(guò)一個(gè)簡(jiǎn)單的幫助系統(tǒng),程序運(yùn)行時(shí)會(huì)提示我們輸入需要幫助的序號(hào),但你有沒(méi)有想過(guò)如果不輸入程序提示的內(nèi)容會(huì)出現(xiàn)什么情況?本節(jié)我們?yōu)榇蠹抑v解有關(guān)異常處理的問(wèn)題,學(xué)完此節(jié)你就會(huì)對(duì)上面的問(wèn)題有所了解。 68 管理異常 在 C中,程序中的運(yùn)行時(shí)錯(cuò)誤使用一種稱(chēng)為“異?!钡臋C(jī)制在程序中傳播。異常由遇到錯(cuò)誤的代碼引發(fā),由能夠更正錯(cuò)誤的代碼捕獲。異??捎?.NET Framework公共語(yǔ)言運(yùn)行庫(kù) (CLR)或由程序中的代碼引發(fā)。 異常由從 Exception派生的類(lèi)表示,程序中發(fā)生一個(gè)異常時(shí),就會(huì)生成一個(gè)異常類(lèi)的某種類(lèi)型的對(duì)象。 C中使用try、 catch、 throw和 finally四個(gè)關(guān)鍵字來(lái)管理的。 1. Try/catch塊 2. Finally塊 69 70 第 7章 數(shù)組與集合 數(shù)組是一個(gè)數(shù)據(jù)結(jié)構(gòu)。它包含了一些通過(guò)計(jì)算出來(lái)的標(biāo)號(hào)來(lái)訪問(wèn)的變量。這些變量通常情況下被稱(chēng)為變量的元素,它們都有相同的類(lèi)型,這個(gè)類(lèi)型被叫做數(shù)組的元素類(lèi)型。簡(jiǎn)單的說(shuō),數(shù)組是指數(shù)據(jù)項(xiàng)的列表或集合。和 C、 C++中的數(shù)組一樣, C中的數(shù)組也是從零開(kāi)始建立索引。也就是說(shuō)在 C中數(shù)組第一個(gè)元素的下標(biāo)為 0,最后一個(gè)元素的下標(biāo)為元素個(gè)數(shù) 1。本章介紹了數(shù)組的定義方法以及在函數(shù)中作為參數(shù)傳遞。 集合類(lèi)是 。因?yàn)樘峁┝藶?C程序管理數(shù)據(jù)的各種方法,所以它們能夠代替數(shù)組而且更靈活的管理對(duì)象組。本章介紹了集合的基本知識(shí)、使用類(lèi)庫(kù)中的集合的方法以及如何自定義集合。 71 本章學(xué)習(xí)要點(diǎn) ? 掌握定義數(shù)組的方法。 ? 掌握數(shù)組在函數(shù)中的使用 ? 了解集合的概念 ? 掌握類(lèi)庫(kù)中的集合 ? 掌握自定義集合的方法 72 定義數(shù)組 C中的數(shù)組包含一維數(shù)組、多維數(shù)組和數(shù)組的數(shù)組。其中數(shù)組的數(shù)組有時(shí)也叫鋸齒數(shù)組。下面就逐一介紹。 ? 一維數(shù)組 ? 多維數(shù)組 ? 數(shù)組的數(shù)組 數(shù)組與函數(shù) 數(shù)組作為一種數(shù)據(jù)類(lèi)型,和其他數(shù)據(jù)類(lèi)型一樣,也可以作為參數(shù)在函數(shù)中傳遞。數(shù)組作為參數(shù)完成的方式和其他的 out與 ref參數(shù)的完成方式一樣,即在調(diào)用函數(shù)之前不需要初始化 out參數(shù)。不過(guò),調(diào)用的函數(shù)必須在返回前分配數(shù)組類(lèi)型。另外 ref參數(shù)必須在函時(shí)調(diào)用之前分配。 73 集合 介紹完數(shù)組,我們就會(huì)發(fā)現(xiàn)數(shù)組這個(gè)數(shù)據(jù)結(jié)構(gòu)有一定的局限性。最大的限制就是一旦創(chuàng)建好數(shù)組,就不能對(duì)它的大小進(jìn)行改變,換句話(huà)說(shuō)就是數(shù)組一旦創(chuàng)建好其大小就固定了。不可能在數(shù)組的末尾新添元素。如果必須對(duì)現(xiàn)有數(shù)組大小進(jìn)行改變就只能新建一個(gè)數(shù)組,這意味著用于處理數(shù)組的語(yǔ)法比較復(fù)雜。為了簡(jiǎn)化處理數(shù)組的語(yǔ)法,我們引入了集合。集合是創(chuàng)建在 C內(nèi)部并且可以進(jìn)行一些處理的類(lèi)。 集合相對(duì)于數(shù)組而言,語(yǔ)法已經(jīng)標(biāo)準(zhǔn)化。這使得利用集合進(jìn)行處理的時(shí)候要比數(shù)組簡(jiǎn)單的多。集合的功能是通過(guò)執(zhí)行 。 在 C.NET中,集合都實(shí)現(xiàn)了 ICollection接口。而ICollection接口是繼承自 IEnumerable接口,那么每個(gè)內(nèi)建的集合因此也實(shí)現(xiàn)了 IEnumerable接口。 C中提供了很多集合,換個(gè)角度說(shuō),這些集合都在。每個(gè)集合都實(shí)現(xiàn)了ICollection接口。 74 類(lèi)庫(kù)中的集合 實(shí)際應(yīng)用中,有時(shí)需要數(shù)據(jù)結(jié)構(gòu)(鏈表、堆棧、隊(duì)列等)來(lái)完成計(jì)算任務(wù)。為便于這類(lèi)應(yīng)用, C中 了幾個(gè)能夠被實(shí)例化的集合,這些可以被實(shí)例化的集合可以立即使用。它們就是類(lèi)庫(kù)中的集合。 75 自定義集合 上面介紹了如何使用高級(jí)集合類(lèi),這些高級(jí)集合類(lèi)是封裝在 C內(nèi)部的,雖然應(yīng)用時(shí)很方便,但是還是有很多人想要有自己的數(shù)據(jù)結(jié)構(gòu)。這一節(jié)我們就來(lái)討論如何創(chuàng)建自己的、強(qiáng)類(lèi)型的集合。 有兩種方式可以讓我們自定義集合:一種方式是手動(dòng)執(zhí)行需要的方法,這比較花時(shí)間,在某些情況下也非常復(fù)雜。另一種方式是從一個(gè)類(lèi)中派生出自己的集合, .NET提供了一個(gè)名為 CollectionBase的基類(lèi),以便更容易創(chuàng)建自定義集合, CollectionBase是一個(gè)抽象基類(lèi),能夠提供強(qiáng)類(lèi)型集合。 76 77 第 8章 字符串 使用和操作字符串是編程中的常見(jiàn)內(nèi)容。在 C#中,可以使用兩種類(lèi)型的字符串,一種是 String類(lèi)的實(shí)例,另一種是 StringBuilder類(lèi)的實(shí)例;前者是不可更改的字符串,后者是可更改的字符串;這兩種類(lèi)型的字符串可以相互轉(zhuǎn)換。 String類(lèi)型的字符串比StringBuilder類(lèi)型的字符串使用起來(lái)更方便,但當(dāng)在程序中需要對(duì)字符串進(jìn)行大量的修改時(shí),一般應(yīng)使用StringBuilder類(lèi)型的字符串以提高程序的性能。 本章主要介紹怎樣在 C程序中使用和操作字符串,重點(diǎn)介紹 String類(lèi)和 StringBuilder類(lèi)提供的常用成員的作用,以及怎樣使用這些常用成員操作字符串,另外,還介紹了怎樣格式化字符串。 78 本章學(xué)習(xí)要點(diǎn) ? 理解 String類(lèi)型字符串和 StringBuilder類(lèi)型字符串的異同 ? 學(xué)會(huì)創(chuàng)建和使用 String類(lèi)型的字符串實(shí)例 ? 了解 String類(lèi)的屬性和索引器 ? 能夠使用 String類(lèi)的常見(jiàn)方法操作字符串 ? 學(xué)會(huì)創(chuàng)建 StringBuilder類(lèi)型的字符串實(shí)例 ? 能夠在 StringBuilder類(lèi)型的字符串和 String類(lèi)型的字符串之間進(jìn)行相互轉(zhuǎn)換 ? 能夠使用 StringBuilder類(lèi)的常見(jiàn)方法操作字符串 ? 了解怎樣格式化字符串 79 字符串基礎(chǔ) 字符串是由被當(dāng)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1