




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
命名空間第六章2回顧第五章–
C#
中的高級(jí)OOP概念當(dāng)需要從基類(lèi)的對(duì)象中調(diào)用派生的類(lèi)方法時(shí),虛擬函數(shù)十分有用。重寫(xiě)和多態(tài)之間的區(qū)別是:在多態(tài)中,調(diào)用哪種方法的決定是在運(yùn)行時(shí)做出的。抽象基類(lèi)是至少包含一個(gè)抽象成員(沒(méi)有實(shí)現(xiàn)的方法)的類(lèi)。不能創(chuàng)建抽象基類(lèi)的新實(shí)例。沒(méi)有實(shí)現(xiàn)的方法稱(chēng)為“操作”。接口是純抽象基類(lèi)。它只能包含抽象方法,而不包含方法實(shí)現(xiàn)。一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。3目標(biāo)解釋命名空間創(chuàng)建自定義的命名空間討論命名空間命名的類(lèi)型使用命名空間指令為命名空間創(chuàng)建別名了解.NET
基類(lèi)庫(kù)4命名空間用于避免命名沖突專(zhuān)用于組織代碼當(dāng)代碼要在其他某個(gè)應(yīng)用程序中重用時(shí),可以降低復(fù)雜性5聲明命名空間2-1與類(lèi)的聲明過(guò)程相似語(yǔ)法–
namespaceNameSpaceName{ //此處列出該命名空間的全部類(lèi)!}6聲明命名空間2-2classSamsungTelevision{...}classSamsungWalkMan{...}classSonyTelevision{...}classSonyWalkMan{...}namespaceSamsung{classTelevision{...}classWalkMan{...}}namespaceSony{classTelevision{...}classWalkman{...}}使用命名空間解決命名沖突更簡(jiǎn)潔、更有條理、結(jié)構(gòu)更清晰7嵌套命名空間在一個(gè)命名空間內(nèi)聲明另一個(gè)命名空間...namespaceSony{namespaceTelevision{classT14inches{ ...}classT21inches{...}}}......namespaceSony.Television{classT14inches{ ...}classT21inches{...}}...第二種命名空間的方法在C#中可用,在C++中是不可用的8訪問(wèn)修飾符和命名空間命名空間是隱式公共的命名空間不能為受保護(hù)的、私有的或內(nèi)部的...publicnamespaceSony//錯(cuò)誤{ ...}privatenamespaceSamsung//錯(cuò)誤{ ...}...在聲明命名空間時(shí)前面不應(yīng)加任何訪問(wèn)修飾符9限定命名要在類(lèi)所屬的命名空間內(nèi)使用該類(lèi),只需要指定該類(lèi)的名稱(chēng)要在類(lèi)所屬的命名空間之外使用該類(lèi),必須使用該類(lèi)的完全限定名來(lái)引用它
Namespace.classname10非限定命名namespaceSony{classTelevision{...}classWalkMan{...TelevisionMyEntertainment=newTelevision();...}}在類(lèi)所屬的命名空間內(nèi)使用該類(lèi)時(shí),只需指定類(lèi)名,這稱(chēng)為“非限定名稱(chēng)”
11限定命名-
示例usingSony;usingSamsung;usingSystem;namespaceSony{namespaceTelevision{classT14inches{publicT14inches(){Console.WriteLine("一臺(tái)14英寸的電視機(jī)");}}classT21inches{publicT21inches(){Console.WriteLine("一臺(tái)21英寸的電視機(jī)");}}}}namespaceSamsung{classTelevision{Sony.Television.T14inchesmyEntertainment=newSony.Television.T14inches();}}classTest{staticvoidMain(){Samsung.TelevisionmyEntertainment=newSamsung.Television();}}限定命名是在類(lèi)名稱(chēng)前加上點(diǎn)操作符和名稱(chēng)空間12using命名空間指令使用限定命名會(huì)使代碼變長(zhǎng)且容易混淆
使用using
命名空間指令可以使長(zhǎng)且容易混淆的名稱(chēng)變得簡(jiǎn)短而且有意義...Sony.Television.T14inchesTelevision=newSony.Television.T14inches();...usingSony.Television;T14inchesTelevision=newT14inches();T21inchesTelevision2=newT21inches();13有效和無(wú)效的命名空間聲明14二義性名稱(chēng)2-1usingSony;usingSamsung;classTest{staticvoidMain(){ TelevisionMyEntertainment=newTelevision();}}這會(huì)導(dǎo)致錯(cuò)誤,因?yàn)镾ony,Samsung命名空間都有Television類(lèi),程序中不知調(diào)用哪個(gè)命名空間的類(lèi),類(lèi)名稱(chēng)存在二義性。15二義性名稱(chēng)2-2usingSony;usingSamsung;classTest{staticvoidMain(){ Samsung.TelevisionMyEntertainment=newSamsung.Television();}}在類(lèi)名存在二義性的情況下,只能像代碼段中那樣使用限定的命名空間16using別名指令using別名指令提供了一種功能,可以從命名空間中只提取一個(gè)類(lèi),并將其放入作用域中usingT21inches=Sony.Televisions.T21inches;classTest{staticvoidMain(){ T21inchesM=newT21inches();}}using別名名稱(chēng)=到命名空間或類(lèi)的完全限定路徑17基類(lèi)庫(kù)是預(yù)先編寫(xiě)的代碼的集合,這些代碼可以很容易地合并到應(yīng)用程序中,并在應(yīng)用程序中加以使用基類(lèi)庫(kù)可以被所有.NET
支持的語(yǔ)言共享根據(jù)其功能,BCL中的類(lèi)被歸類(lèi)到相應(yīng)的命名空間中18最常用的命名空間和類(lèi)19命名空間System.Array3-1提供用于操縱數(shù)組的類(lèi)和方法usingSystem;classTest{staticvoidMain(){int[]arrayToReverse={1,2,3,4,5,6,7};
Console.WriteLine("反轉(zhuǎn)前數(shù)組的內(nèi)容:\n"); displayArray(arrayToReverse);Array.Reverse(arrayToReverse);Console.WriteLine("\n\n反轉(zhuǎn)后數(shù)組的內(nèi)容:\n");displayArray(arrayToReverse);}
publicstaticvoiddisplayArray(ArraymyArray){foreach(intarrValueinmyArray){Console.WriteLine(arrValue);}}}20命名空間System.Array3-2上示例的輸出結(jié)果21命名空間System.Array3-3命名空間System.Array
其他方法22命名空間System.Threading3-1在程序中實(shí)現(xiàn)多線程同時(shí)運(yùn)行同一程序或程序不同部分的一個(gè)或多個(gè)實(shí)例23命名空間System.Threading3-2示例usingSystem;usingSystem.Threading;classTest{staticvoidMain(){ThreadnewThread=newThread(newThreadStart(ThreadToRun));newThread.Start();ThreadToRun();}staticvoidThreadToRun(){for(intcount=1;count<10;count++){ Console.WriteLine("線程數(shù)為{0}",count);}}}24命名空間System.Threading3-3線程同步usingSystem;usingSystem.Threading;classTest{staticvoidMain(){TestobjTest=newTest();ThreadnewThread=newThread(newThreadStart(objTest.threadToRun));newThread.Start();objTest.threadToRun();}voidthreadToRun(){lock(this)for(intcount=1;count<10;count++){ Console.WriteLine("線程數(shù)為{0}",count);}}}25命名空間System.IO3-1提供了大量用于文件/流的輸入/輸出的類(lèi)示例-26命名空間System.IO3-2示例usingSystem;usingSystem.IO;classTest{staticvoidMain(string[]args){ Console.WriteLine(@"創(chuàng)建目錄C:\Sample..."); Directory.CreateDirectory(@"c:\Sample"); DateTimecreationDate=Directory.GetCreationTime(@"c:\Sample"); Console.WriteLine("目錄創(chuàng)建于:"+creationDate.ToString());}}27命名空間System.IO3-3其他重要的類(lèi)28System.String類(lèi)2-1提供了很多用于操縱字符串的方法示例-29System.String類(lèi)2-2方法語(yǔ)法功能CopyStringCopy(stringStr);此方法使用與指定的字符串相同的值創(chuàng)建某個(gè)字符串的新實(shí)例。EndsWithboolEndsWith(stringValue);此方法檢查此實(shí)例的結(jié)尾是否與指定的字符串相匹配。PadLeftstringPadLeft(int);stringPadLeft(int,char);此方法使此實(shí)例中的字符右對(duì)齊,并用空格或指定的Unicode字符填充左端,以達(dá)到指定的總長(zhǎng)度。SplitStringSplit(char[]);StringSplit(char[],int);此方法用于標(biāo)識(shí)此實(shí)例中的子字符串(這些子字符串由數(shù)組中指定的一個(gè)或多個(gè)字符分隔),然后將子字符串放到一個(gè)類(lèi)型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省聊城第一中學(xué)(老校區(qū))2024-2025學(xué)年高二下學(xué)期第一次階段性測(cè)試英語(yǔ)試題(原卷版+解析版)
- 2025屆云南省昆明市高三三診一模2生物試題(原卷版+解析版)
- 腰椎間盤(pán)突出癥護(hù)理
- 物業(yè)客服表單規(guī)范填寫(xiě)
- 牛棚噴淋施工方案
- 2025年成人高考語(yǔ)文語(yǔ)言邏輯議論文寫(xiě)作技巧訓(xùn)練題庫(kù)試題
- 2025年消防執(zhí)業(yè)資格考試題庫(kù)(消防標(biāo)準(zhǔn)化建設(shè)現(xiàn)場(chǎng)實(shí)操模擬試題)
- 光纜搶修施工方案
- 2025年專(zhuān)升本藝術(shù)概論考試模擬試卷:藝術(shù)作品賞析技巧與藝術(shù)市場(chǎng)戰(zhàn)略調(diào)整試題
- 2025年小學(xué)教師考試《綜合素質(zhì)》職業(yè)道德教學(xué)實(shí)踐試題及答案解析
- 太原市2024年高三一模(高三年級(jí)模擬考試一)英語(yǔ)試卷(含答案)
- 工會(huì)內(nèi)部控制管理制度范文六篇
- TCALC 003-2023 手術(shù)室患者人文關(guān)懷管理規(guī)范
- 顱骨骨折患者的護(hù)理查房
- 防止校園欺凌安全教育課件
- 北師大版小學(xué)六年級(jí)數(shù)學(xué)下冊(cè)期第三單元檢測(cè)試卷2(附答案)
- 江蘇省徐州市銅山區(qū)2022-2023學(xué)年高二下學(xué)期期中地理試題(解析版)
- 微觀經(jīng)濟(jì)學(xué)復(fù)習(xí)題
- 現(xiàn)代漢語(yǔ)詞匯學(xué)課件
- 曲臂式高空作業(yè)車(chē)施工方案
- 行政崗位任職資格標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論