第三、四章 C#面向?qū)ο缶幊?/h1>
上傳人:小**** 文檔編號(hào):240404694 上傳時(shí)間:2024-04-09 格式:PPT 頁數(shù):292 大?。?.61MB

收藏 版權(quán)申訴 舉報(bào) 下載
第三、四章 C#面向?qū)ο缶幊蘝第1頁
第1頁 / 共292頁
第三、四章 C#面向?qū)ο缶幊蘝第2頁
第2頁 / 共292頁
第三、四章 C#面向?qū)ο缶幊蘝第3頁
第3頁 / 共292頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第三、四章 C#面向?qū)ο缶幊獭酚蓵?huì)員分享,可在線閱讀,更多相關(guān)《第三、四章 C#面向?qū)ο缶幊蹋?92頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、信息與軟件工程信息與軟件工程 系系 軟軟 件件 教教 研研 室室C#程程 序序 設(shè)設(shè) 計(jì)計(jì)案例案例2 2 教學(xué)管理軟件教學(xué)管理軟件 案例簡(jiǎn)介案例簡(jiǎn)介C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室需求概述需求概述 在學(xué)校教務(wù)管理系統(tǒng)中,有三種用戶,一種是系在學(xué)校教務(wù)管理系統(tǒng)中,有三種用戶,一種是系統(tǒng)管理員,一種是學(xué)生,一種是教師,編寫統(tǒng)管理員,一種是學(xué)生,一種是教師,編寫C#C#類實(shí)類實(shí)現(xiàn)該繼承關(guān)系。系統(tǒng)管理員現(xiàn)該繼承關(guān)系。系統(tǒng)管理員/學(xué)生學(xué)生/教師都有用戶名教師都有用戶名和密碼屬性,并都有和密碼屬性,并都有LoginLogin和顯示自身信息的方法,和

2、顯示自身信息的方法,另外,學(xué)生擁有班級(jí)和成績(jī)兩個(gè)特殊屬性以及查詢另外,學(xué)生擁有班級(jí)和成績(jī)兩個(gè)特殊屬性以及查詢成績(jī)這一方法,教師擁有部門和工資兩個(gè)特殊屬性成績(jī)這一方法,教師擁有部門和工資兩個(gè)特殊屬性以及查詢工資這一方法,系統(tǒng)管理員可以添加學(xué)生以及查詢工資這一方法,系統(tǒng)管理員可以添加學(xué)生和教師信息。由于教師和學(xué)生個(gè)人信息不同,所以和教師信息。由于教師和學(xué)生個(gè)人信息不同,所以學(xué)生和教師重載基類的學(xué)生和教師重載基類的DisplayInfoDisplayInfo方法。方法。2C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室需求分析需求分析 對(duì)于此類問題,首先應(yīng)該

3、抽象三類用戶共有的特對(duì)于此類問題,首先應(yīng)該抽象三類用戶共有的特征,在此基礎(chǔ)上,再派生普通類型的用戶,類關(guān)系征,在此基礎(chǔ)上,再派生普通類型的用戶,類關(guān)系圖如圖圖如圖1所示。所示。圖1 繼承關(guān)系3C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室實(shí)現(xiàn)過程實(shí)現(xiàn)過程1 1、創(chuàng)建控制臺(tái)應(yīng)用程序,命名為、創(chuàng)建控制臺(tái)應(yīng)用程序,命名為“SchoolManagementSchoolManagement”。2 2、創(chuàng)建名為、創(chuàng)建名為UserUser的基類,基類定義了的基類,基類定義了userNameuserName和和passwordpassword屬屬性,以及性,以及Lo

4、ginLogin和和DisplayInfoDisplayInfo方法。方法。3 3、創(chuàng)建名為創(chuàng)建名為“StudentStudent”的派生類,具備班級(jí)和成績(jī)兩個(gè)特殊的派生類,具備班級(jí)和成績(jī)兩個(gè)特殊屬性,以及查詢成績(jī)的特殊方法屬性,以及查詢成績(jī)的特殊方法,覆蓋基類的顯示個(gè)人信息覆蓋基類的顯示個(gè)人信息方法。方法。4 4、創(chuàng)建名為創(chuàng)建名為“TeacherTeacher”的派生類,具備部門和工資兩個(gè)特殊的派生類,具備部門和工資兩個(gè)特殊屬性,以及查詢工資的特殊方法屬性,以及查詢工資的特殊方法,覆蓋基類的顯示個(gè)人信息覆蓋基類的顯示個(gè)人信息方法。方法。5 5、創(chuàng)建名為創(chuàng)建名為“SysManagerSysMa

5、nager”的派生類,具備插入學(xué)生信息和的派生類,具備插入學(xué)生信息和插入教師信息兩個(gè)方法。插入教師信息兩個(gè)方法。6 6、在、在“Program.csProgram.cs”的的“MainMain”方法中調(diào)用以上類,測(cè)試。方法中調(diào)用以上類,測(cè)試。4C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室結(jié)果演示結(jié)果演示 5C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室主要知識(shí)點(diǎn)主要知識(shí)點(diǎn)類的聲明、類的成員、構(gòu)造函數(shù)和析構(gòu)函數(shù)類的聲明、類的成員、構(gòu)造函數(shù)和析構(gòu)函數(shù)方法的聲明、方法的參數(shù)、靜態(tài)方法與實(shí)例方法、方法的覆方法的聲

6、明、方法的參數(shù)、靜態(tài)方法與實(shí)例方法、方法的覆蓋與重載蓋與重載屬性屬性類的繼承與多態(tài)類的繼承與多態(tài)接口接口6信息與軟件工程信息與軟件工程 系系 軟軟 件件 教教 研研 室室C#程程 序序 設(shè)設(shè) 計(jì)計(jì)案例案例2 2 教學(xué)管理軟件教學(xué)管理軟件 知識(shí)點(diǎn)詳解知識(shí)點(diǎn)詳解信息與軟件工程信息與軟件工程 系系 軟軟 件件 教教 研研 室室C#程程 序序 設(shè)設(shè) 計(jì)計(jì)面向?qū)ο缶幊趟枷朊嫦驅(qū)ο缶幊趟枷?C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室本章要點(diǎn)本章要點(diǎn)理解面向?qū)ο蟮闹匾岳斫饷嫦驅(qū)ο蟮闹匾哉莆疹惖母拍钫莆疹惖母拍钫莆諏?duì)象的概念掌握對(duì)象的概念掌握類的組成掌握類的

7、組成掌握封裝的概念掌握封裝的概念掌握變量的作用域掌握變量的作用域9C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀鰡栴}引入問題引入大型軟件開發(fā):類似騰訊大型軟件開發(fā):類似騰訊QQ的聊天軟件的聊天軟件 復(fù)復(fù) 雜雜 的的 代代 碼碼 功功 能能 如如 果果 都都 集集 中中 在在 一一 個(gè)個(gè)Program.cs文文件件中中是是不不現(xiàn)現(xiàn)實(shí)實(shí)的的,需需要要對(duì)對(duì)代代碼碼進(jìn)進(jìn)行行組組織織,將將功功能能相相近近的的代代碼碼分分類類整整合合,從從而而便便于代碼的管理和團(tuán)隊(duì)開發(fā)于代碼的管理和團(tuán)隊(duì)開發(fā)。10C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué)

8、 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀鰡栴}引入問題引入在在C#程程序序設(shè)設(shè)計(jì)計(jì)中中,按按照照問問題題模模型型特特征征以以及及施施加加在在該該模模型型上上的的操操作作,分分類類管管理理代代碼碼的的編編程程模模式式稱稱為為面面向向?qū)?duì)象象的的程程序序設(shè)設(shè)計(jì)計(jì)方方法法(OOP)。在在需需求求分分析析和和系系統(tǒng)統(tǒng)設(shè)設(shè)計(jì)計(jì)領(lǐng)領(lǐng)域域,還還有有面面向向?qū)?duì)象象的的分分析析(OOA)和和面面向向?qū)?duì)象象的的設(shè)設(shè)計(jì)計(jì)(OOD)等等。面面向向?qū)?duì)象象的的軟軟件件開開發(fā)發(fā)模模式式,是是解解決決復(fù)復(fù)雜雜且且多多變變的的客客觀觀問問題題的的有有效手段,也是從事軟件開發(fā)工作的一項(xiàng)必備能力。效手段,也是從事軟件開

9、發(fā)工作的一項(xiàng)必備能力。11C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀雒嫦驅(qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)在計(jì)算機(jī)世界中,將事物的特征稱為屬性,將事在計(jì)算機(jī)世界中,將事物的特征稱為屬性,將事物的行為或施加在事物上的操作稱為方法,這種物的行為或施加在事物上的操作稱為方法,這種對(duì)求解問題模型抽象其屬性和方法,分類編寫代對(duì)求解問題模型抽象其屬性和方法,分類編寫代碼的開發(fā)過程就是面向?qū)ο蟮某绦蛟O(shè)計(jì)碼的開發(fā)過程就是面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOP)過過程程類:具有相同的特征和行為的事物類:具有相同的特征和行為的事物 對(duì)象:具體事務(wù),這些事物具有靜態(tài)的特征和

10、動(dòng)對(duì)象:具體事務(wù),這些事物具有靜態(tài)的特征和動(dòng)態(tài)的行為態(tài)的行為 12C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀?3C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀雒嫦驅(qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象和類之間的關(guān)系是具體到抽象,特殊到一般對(duì)象和類之間的關(guān)系是具體到抽象,特殊到一般的關(guān)系的關(guān)系14C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室面向?qū)ο蟾攀龀绦蛟O(shè)計(jì)的公式程序設(shè)計(jì)的公式 程序程序=算法算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 程序程序=對(duì)象對(duì)象+對(duì)象

11、間的消息傳遞對(duì)象間的消息傳遞對(duì)象間的消息傳遞是指對(duì)象間的關(guān)聯(lián)對(duì)象間的消息傳遞是指對(duì)象間的關(guān)聯(lián) 15C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類在程序設(shè)計(jì)中,用類在程序設(shè)計(jì)中,用類(class)來描述具有相同結(jié)構(gòu)來描述具有相同結(jié)構(gòu)和特征,以及相同的行為的一組對(duì)象,也可以把類和特征,以及相同的行為的一組對(duì)象,也可以把類看作對(duì)象的類型,把對(duì)象看作類的變量,從而對(duì)照看作對(duì)象的類型,把對(duì)象看作類的變量,從而對(duì)照前幾章的內(nèi)容來理解類,例如整型前幾章的內(nèi)容來理解類,例如整型int,就是所有,就是所有在一定的范圍內(nèi)的整數(shù)的集合,對(duì)于這些整數(shù)的操在一定的范圍內(nèi)的整

12、數(shù)的集合,對(duì)于這些整數(shù)的操作必須是相同的。作必須是相同的。16C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類類1、C#中的命名慣例是類名的第一個(gè)字母大寫中的命名慣例是類名的第一個(gè)字母大寫2、如果類名有多個(gè)單詞,則每個(gè)單詞的第一個(gè)字母大寫、如果類名有多個(gè)單詞,則每個(gè)單詞的第一個(gè)字母大寫類的聲明類的聲明17C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類類類的封裝類的封裝 通過訪問修飾符,通過訪問修飾符,C#實(shí)現(xiàn)了類的封裝思想實(shí)現(xiàn)了類的封裝思想 類的封裝是面向?qū)ο蟮奶卣髦?,通過封裝使一類的封裝是面向?qū)ο蟮奶?/p>

13、征之一,通過封裝使一部分成員充當(dāng)類與外部的接口,而將其他的成員隱蔽部分成員充當(dāng)類與外部的接口,而將其他的成員隱蔽起來,這樣就達(dá)到了對(duì)成員訪問權(quán)限的合理控制,使起來,這樣就達(dá)到了對(duì)成員訪問權(quán)限的合理控制,使不同類之間的相互影響減少到最低限度,進(jìn)而增強(qiáng)數(shù)不同類之間的相互影響減少到最低限度,進(jìn)而增強(qiáng)數(shù)據(jù)的安全性和簡(jiǎn)化程序的編寫工作。據(jù)的安全性和簡(jiǎn)化程序的編寫工作。例如:個(gè)人信息,有些可以公開,有些屬于隱私例如:個(gè)人信息,有些可以公開,有些屬于隱私18C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類類類的封裝類的封裝訪問修飾符訪問修飾符修修 飾飾 符符作作

14、用用 說說 明明publicpublic表示不限制對(duì)類的訪問。表示不限制對(duì)類的訪問。類的訪問權(quán)限省略時(shí)默認(rèn)為類的訪問權(quán)限省略時(shí)默認(rèn)為 publicpublicprotectedprotected表示該類只能被這個(gè)類的成員或派生類成員訪問表示該類只能被這個(gè)類的成員或派生類成員訪問privateprivate表示該類只能被這個(gè)類的成員訪問表示該類只能被這個(gè)類的成員訪問internalinternal表示該類能夠由程序集中的所有文件使用,而不能由程序集之表示該類能夠由程序集中的所有文件使用,而不能由程序集之外的對(duì)象使用外的對(duì)象使用newnew只允許用在嵌套類中,它表示所修飾的類會(huì)隱藏繼承下來的同只允

15、許用在嵌套類中,它表示所修飾的類會(huì)隱藏繼承下來的同名成員名成員abstractabstract表示這是一個(gè)抽象類,該類含有抽象成員,因此不能被實(shí)例化,表示這是一個(gè)抽象類,該類含有抽象成員,因此不能被實(shí)例化,只能用作基類只能用作基類sealedsealed表示這是一個(gè)密封類,不能從這個(gè)類再派生出其他類。顯然密表示這是一個(gè)密封類,不能從這個(gè)類再派生出其他類。顯然密封類不能同時(shí)為抽象類封類不能同時(shí)為抽象類19C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類和對(duì)象類和對(duì)象20C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研

16、 室室類和對(duì)象類和對(duì)象21C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的字段類的字段字段:字段:在類中存儲(chǔ)信息的成員在類中存儲(chǔ)信息的成員22C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室字段的訪問級(jí)別字段的訪問級(jí)別類成員的默認(rèn)訪問級(jí)別類成員的默認(rèn)訪問級(jí)別privateprivate23C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室訪問控制修飾符訪問控制修飾符24C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室訪問控制修

17、飾符訪問控制修飾符internalinternalprotected internalprotected internal當(dāng)父類和子類不在同一個(gè)程序集中時(shí),當(dāng)父類和子類不在同一個(gè)程序集中時(shí),子類不能訪問父類的子類不能訪問父類的internalinternal成員。成員。25C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室靜態(tài)字段靜態(tài)字段26C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的靜態(tài)字段類的靜態(tài)字段、訪問實(shí)例字段:訪問實(shí)例字段:car1.color=car1.color=“BlueBlue”;訪問靜

18、態(tài)字段:訪問靜態(tài)字段:Car.count=Car.count+1;Car.count=Car.count+1;27C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的構(gòu)造函數(shù)類的構(gòu)造函數(shù)28C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的構(gòu)造函數(shù)類的構(gòu)造函數(shù)29C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的構(gòu)造函數(shù)類的構(gòu)造函數(shù)類的構(gòu)造函數(shù):類的構(gòu)造函數(shù):執(zhí)行類和對(duì)象的初始化工作的方法。執(zhí)行類和對(duì)象的初始化工作的方法。30C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)

19、機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的構(gòu)造函數(shù)的重載類的構(gòu)造函數(shù)的重載構(gòu)造函數(shù)是不返回值的。構(gòu)造函數(shù)是不返回值的。31C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室構(gòu)造函數(shù)的調(diào)用構(gòu)造函數(shù)的調(diào)用構(gòu)造函數(shù)是在產(chǎn)生一個(gè)類實(shí)例的時(shí)候,通過構(gòu)造函數(shù)是在產(chǎn)生一個(gè)類實(shí)例的時(shí)候,通過newnew來調(diào)用。來調(diào)用。32C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室靜態(tài)構(gòu)造函數(shù)(靜態(tài)構(gòu)造函數(shù)(static constructorstatic constructor)典型作用:當(dāng)類使用日志文件時(shí),典型作用:當(dāng)類使用

20、日志文件時(shí),使用靜態(tài)構(gòu)造函數(shù)向日志文件寫入項(xiàng)。使用靜態(tài)構(gòu)造函數(shù)向日志文件寫入項(xiàng)。靜態(tài)構(gòu)造函數(shù)沒有訪問級(jí)別修飾靜態(tài)構(gòu)造函數(shù)沒有訪問級(jí)別修飾符,也沒有參數(shù)。符,也沒有參數(shù)。33C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室靜態(tài)構(gòu)造函數(shù)靜態(tài)構(gòu)造函數(shù)當(dāng)類被加載時(shí),類的靜態(tài)構(gòu)造器當(dāng)類被加載時(shí),類的靜態(tài)構(gòu)造器會(huì)被自動(dòng)調(diào)用。會(huì)被自動(dòng)調(diào)用。靜態(tài)構(gòu)造器是在類的靜態(tài)成員被靜態(tài)構(gòu)造器是在類的靜態(tài)成員被使用之前執(zhí)行的。使用之前執(zhí)行的。34C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室靜態(tài)構(gòu)造函數(shù)靜態(tài)構(gòu)造函數(shù)當(dāng)有:當(dāng)有:A a=ne

21、w A();先執(zhí)行類先執(zhí)行類A的靜態(tài)構(gòu)造器,然后執(zhí)行類的靜態(tài)構(gòu)造器,然后執(zhí)行類A的實(shí)例構(gòu)造器。的實(shí)例構(gòu)造器。當(dāng)再有:當(dāng)再有:A a1=new A();靜態(tài)構(gòu)造器最多只執(zhí)行一次。靜態(tài)構(gòu)造器最多只執(zhí)行一次。35C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室靜態(tài)構(gòu)造函數(shù)靜態(tài)構(gòu)造函數(shù)36C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室語法形式:語法形式:屬性集信息屬性集信息 extern 標(biāo)識(shí)符標(biāo)識(shí)符()析構(gòu)函數(shù)體析構(gòu)函數(shù)體其中:其中:標(biāo)識(shí)符標(biāo)識(shí)符必須與類名相同,但為了區(qū)分構(gòu)造函數(shù),前面需加必須與類名相同,但為了區(qū)分

22、構(gòu)造函數(shù),前面需加“”,表明它是析構(gòu)函數(shù)。關(guān)于析構(gòu)函數(shù),請(qǐng)注意:表明它是析構(gòu)函數(shù)。關(guān)于析構(gòu)函數(shù),請(qǐng)注意:析構(gòu)函數(shù)不能由程序顯式地調(diào)用,而是由系統(tǒng)在釋放對(duì)象時(shí)自動(dòng)調(diào)用。析構(gòu)函數(shù)不能由程序顯式地調(diào)用,而是由系統(tǒng)在釋放對(duì)象時(shí)自動(dòng)調(diào)用。如果對(duì)象是一個(gè)派生類對(duì)象,那么在調(diào)用析構(gòu)函數(shù)時(shí)也會(huì)產(chǎn)生鏈?zhǔn)椒磻?yīng),如果對(duì)象是一個(gè)派生類對(duì)象,那么在調(diào)用析構(gòu)函數(shù)時(shí)也會(huì)產(chǎn)生鏈?zhǔn)椒磻?yīng),首先執(zhí)行派生類的析構(gòu)函數(shù),然后執(zhí)行基類的析構(gòu)函數(shù),如果這個(gè)基類首先執(zhí)行派生類的析構(gòu)函數(shù),然后執(zhí)行基類的析構(gòu)函數(shù),如果這個(gè)基類還有自己的基類,這個(gè)過程就會(huì)不斷重復(fù),直到調(diào)用還有自己的基類,這個(gè)過程就會(huì)不斷重復(fù),直到調(diào)用Object類的析構(gòu)類的析構(gòu)

23、函數(shù)為止,其執(zhí)行順序正好與構(gòu)造函數(shù)相反。函數(shù)為止,其執(zhí)行順序正好與構(gòu)造函數(shù)相反。析構(gòu)函數(shù)析構(gòu)函數(shù)不能寫返回類型,也不能帶參數(shù),因此它不可能被重載,不能寫返回類型,也不能帶參數(shù),因此它不可能被重載,當(dāng)然它也不能被繼承,所以一個(gè)類最多只能有一個(gè)析構(gòu)函數(shù)。當(dāng)然它也不能被繼承,所以一個(gè)類最多只能有一個(gè)析構(gòu)函數(shù)。析構(gòu)函數(shù)析構(gòu)函數(shù)37C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室析構(gòu)函數(shù)析構(gòu)函數(shù)關(guān)于析構(gòu)函數(shù),請(qǐng)注意:關(guān)于析構(gòu)函數(shù),請(qǐng)注意:析構(gòu)函數(shù)不能由程序顯式地調(diào)用,而是由系統(tǒng)在釋放對(duì)象時(shí)析構(gòu)函數(shù)不能由程序顯式地調(diào)用,而是由系統(tǒng)在釋放對(duì)象時(shí)自動(dòng)調(diào)用。自動(dòng)調(diào)用。如

24、果對(duì)象是一個(gè)派生類對(duì)象,那么在調(diào)用析構(gòu)函數(shù)時(shí)也會(huì)產(chǎn)如果對(duì)象是一個(gè)派生類對(duì)象,那么在調(diào)用析構(gòu)函數(shù)時(shí)也會(huì)產(chǎn)生鏈?zhǔn)椒磻?yīng),首先執(zhí)行派生類的析構(gòu)函數(shù),然后執(zhí)行基類的生鏈?zhǔn)椒磻?yīng),首先執(zhí)行派生類的析構(gòu)函數(shù),然后執(zhí)行基類的析構(gòu)函數(shù),如果這個(gè)基類還有自己的基類,這個(gè)過程就會(huì)不析構(gòu)函數(shù),如果這個(gè)基類還有自己的基類,這個(gè)過程就會(huì)不斷重復(fù),直到調(diào)用斷重復(fù),直到調(diào)用Object類的析構(gòu)函數(shù)為止,其執(zhí)行順序類的析構(gòu)函數(shù)為止,其執(zhí)行順序正好與構(gòu)造函數(shù)相反。正好與構(gòu)造函數(shù)相反。38C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室垃圾回收和析構(gòu)函數(shù)垃圾回收和析構(gòu)函數(shù) 析構(gòu)函數(shù)析構(gòu)函數(shù):

25、1、由、由C#中的垃圾回收器調(diào)用,垃圾回收器通過銷毀不再需中的垃圾回收器調(diào)用,垃圾回收器通過銷毀不再需要或不再被引用的對(duì)象來釋放內(nèi)存。要或不再被引用的對(duì)象來釋放內(nèi)存。2、無任何參數(shù),也不返回值,函數(shù)名與類名相同,以、無任何參數(shù),也不返回值,函數(shù)名與類名相同,以開頭。開頭。3、析構(gòu)函數(shù)是自動(dòng)被調(diào)用的,當(dāng)任何代碼都不再可能使用一、析構(gòu)函數(shù)是自動(dòng)被調(diào)用的,當(dāng)任何代碼都不再可能使用一個(gè)實(shí)例時(shí),當(dāng)程序退出時(shí),都會(huì)調(diào)用析構(gòu)函數(shù)。個(gè)實(shí)例時(shí),當(dāng)程序退出時(shí),都會(huì)調(diào)用析構(gòu)函數(shù)。4、只應(yīng)該用來清理非托管資源,垃圾回收器會(huì)自動(dòng)清理托管、只應(yīng)該用來清理非托管資源,垃圾回收器會(huì)自動(dòng)清理托管資源。資源。5、析構(gòu)函數(shù)可以包含

26、恰在對(duì)象銷毀前需要執(zhí)行的代碼(如關(guān)、析構(gòu)函數(shù)可以包含恰在對(duì)象銷毀前需要執(zhí)行的代碼(如關(guān)閉文件、保存狀態(tài)信息等)。閉文件、保存狀態(tài)信息等)。6、析構(gòu)函數(shù)實(shí)際上是對(duì)、析構(gòu)函數(shù)實(shí)際上是對(duì)System.Object的虛方法的虛方法Finalize的重寫,的重寫,c#不允許重寫此方法或直接調(diào)用它(或它的重寫)。不允許重寫此方法或直接調(diào)用它(或它的重寫)。39C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室垃圾回收器垃圾回收器垃圾回收器的工作原理:垃圾回收器的工作原理:如果為定義析構(gòu)函數(shù)的對(duì)象分配了內(nèi)存如果為定義析構(gòu)函數(shù)的對(duì)象分配了內(nèi)存,運(yùn)行庫將把,運(yùn)行庫將把該對(duì)

27、象添加到需要銷毀的對(duì)象的列表中。該對(duì)象添加到需要銷毀的對(duì)象的列表中。垃圾回收垃圾回收器定期檢查器定期檢查有沒有不再被引用的對(duì)象,有沒有不再被引用的對(duì)象,如果如果找到了找到了其名稱沒有列在銷毀器列表中的對(duì)象,就其名稱沒有列在銷毀器列表中的對(duì)象,就立即清除該對(duì)象。立即清除該對(duì)象。完成垃圾回收后完成垃圾回收后,將調(diào)用銷毀器線程,該線程調(diào)用有標(biāo)將調(diào)用銷毀器線程,該線程調(diào)用有標(biāo)記為記為“準(zhǔn)備銷毀準(zhǔn)備銷毀”的對(duì)象的銷毀方法(析構(gòu)函數(shù))。的對(duì)象的銷毀方法(析構(gòu)函數(shù))。對(duì)象銷毀過程發(fā)生后對(duì)象銷毀過程發(fā)生后,就將該對(duì)象從需要銷毀的對(duì)象列表就將該對(duì)象從需要銷毀的對(duì)象列表中刪除。中刪除。因?yàn)橐驗(yàn)樵搶?duì)象沒有被引用,也

28、沒有列在銷毀器列表中,所該對(duì)象沒有被引用,也沒有列在銷毀器列表中,所以下次進(jìn)行垃圾回收時(shí)就會(huì)將它清除。以下次進(jìn)行垃圾回收時(shí)就會(huì)將它清除。40C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室析構(gòu)函數(shù)析構(gòu)函數(shù)public class Person string name;public Person(string myname)name=myname;public string Name get return name;set name=value;Person()StreamWriter sr=new StreamWriter(d:人員信息人員信息.txt

29、,true);sr.WriteLine(this.Name);sr.Close();41C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室析構(gòu)函數(shù)析構(gòu)函數(shù) 1、當(dāng)不再需要某對(duì)象時(shí),、當(dāng)不再需要某對(duì)象時(shí),CLR調(diào)用該對(duì)象的析構(gòu)函數(shù),然調(diào)用該對(duì)象的析構(gòu)函數(shù),然后釋放其內(nèi)存,析構(gòu)函數(shù)執(zhí)行清理任務(wù),如保存狀態(tài)信息、關(guān)后釋放其內(nèi)存,析構(gòu)函數(shù)執(zhí)行清理任務(wù),如保存狀態(tài)信息、關(guān)閉文件和數(shù)據(jù)庫的連接,以及執(zhí)行在釋放對(duì)象前必須完成的其閉文件和數(shù)據(jù)庫的連接,以及執(zhí)行在釋放對(duì)象前必須完成的其它任務(wù)。它任務(wù)。2、調(diào)用析構(gòu)函數(shù)的時(shí)間是不確定的,在對(duì)象喪失范圍和系統(tǒng)、調(diào)用析構(gòu)函數(shù)的時(shí)

30、間是不確定的,在對(duì)象喪失范圍和系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù)之間通常會(huì)有延遲。自動(dòng)調(diào)用析構(gòu)函數(shù)之間通常會(huì)有延遲。3、應(yīng)用程序終止之前一定會(huì)調(diào)用析構(gòu)函數(shù)。、應(yīng)用程序終止之前一定會(huì)調(diào)用析構(gòu)函數(shù)。4、基類的析構(gòu)函數(shù)是不能被繼承的,若派生類需要析構(gòu)函數(shù),、基類的析構(gòu)函數(shù)是不能被繼承的,若派生類需要析構(gòu)函數(shù),必須在派生類中聲明它。必須在派生類中聲明它。5、析構(gòu)函數(shù)首先從最相近派生的類開始運(yùn)行,最后執(zhí)行基類析構(gòu)函數(shù)首先從最相近派生的類開始運(yùn)行,最后執(zhí)行基類中的代碼。中的代碼。42C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室析構(gòu)函數(shù)析構(gòu)函數(shù) class Employee:

31、Person string id;public Employee(string name,string id):base(name)this.ID=id;public string ID get return id;set id=value;Employee()SaveStateInfo1();protected void SaveStateInfo1()StreamWriter sr;sr=new StreamWriter(D:人員信息人員信息.txt,true);sr.WriteLine(this.ID);sr.Close();Employee e1=new Employee(Tom,01

32、0203);43C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室創(chuàng)建程序集創(chuàng)建程序集 程序集是任何程序集是任何.NET Framework 應(yīng)用程序的基本構(gòu)造塊。應(yīng)用程序的基本構(gòu)造塊。例如,在生成簡(jiǎn)單的例如,在生成簡(jiǎn)單的 C#應(yīng)用程序時(shí),應(yīng)用程序時(shí),Visual Studio 創(chuàng)建一個(gè)創(chuàng)建一個(gè)單個(gè)可移植可執(zhí)行單個(gè)可移植可執(zhí)行(PE)文件形式的程序集,明確地說就是一個(gè)文件形式的程序集,明確地說就是一個(gè) EXE 或或 DLL。1、創(chuàng)建具有、創(chuàng)建具有.exe 擴(kuò)展名的程序集并指定輸出文件名擴(kuò)展名的程序集并指定輸出文件名 從名為從名為 myCode 的代碼模塊

33、創(chuàng)建名為的代碼模塊創(chuàng)建名為 myAssembly.exe 的的程序集程序集csc/out:myAssembly.exe myCode.cs 2、創(chuàng)建庫程序集、創(chuàng)建庫程序集 庫程序集與類庫相似。它包含將由其他程序集引用的類型,但沒有開始執(zhí)庫程序集與類庫相似。它包含將由其他程序集引用的類型,但沒有開始執(zhí)行的入口點(diǎn)。行的入口點(diǎn)。csc/out:myCodeLibrary.dll/t:library myCode.cs從名為從名為 myCode 的代碼模塊創(chuàng)建名為的代碼模塊創(chuàng)建名為 myCodeAssembly.dll 的庫程序集。的庫程序集。44C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué)

34、 系系 軟軟 件件 教教 研研 室室45C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的方法類的方法46C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的方法類的方法47C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的方法類的方法方法:方法:描述一個(gè)對(duì)象的動(dòng)作。描述一個(gè)對(duì)象的動(dòng)作。調(diào)用方法:調(diào)用方法:Car car1=new Car();Car car1=new Car();car1.Run();car1.Run();48C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算

35、機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的訪問修飾符方法的訪問修飾符49C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的返回值方法的返回值如果說參數(shù)是方法的如果說參數(shù)是方法的”輸入輸入“,那么返回值就是方法的那么返回值就是方法的”輸出輸出“。Console.WriteLine(car1Console.WriteLine(car1的重量是的重量是+car1.GetWeight()+car1.GetWeight()+噸噸););50C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室51C#程程

36、序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)傳遞類型方法的參數(shù)傳遞類型52C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室值傳遞、引用傳遞和值傳遞、引用傳遞和refref參數(shù)參數(shù) 參數(shù)傳遞:參數(shù)傳遞:1 1、值值傳傳遞遞:實(shí)實(shí)參參將將值值拷拷貝貝給給形形參參,系系統(tǒng)統(tǒng)要要為為形形參參開開設(shè)設(shè)存存儲(chǔ)儲(chǔ)空空間間,以以接接受受傳傳遞遞的的值值,此此時(shí)時(shí)形形參參成成為為一一個(gè)個(gè)實(shí)實(shí)在在的的局局部部變變量量,從從此此實(shí)實(shí)參參和和形形參參脫脫離離關(guān)關(guān)系系,形形參參在在方方法法中中參參與與運(yùn)運(yùn)算算,在在運(yùn)運(yùn)算算中中的的發(fā)

37、生的任何變化都不會(huì)影響實(shí)參;發(fā)生的任何變化都不會(huì)影響實(shí)參;2 2、引引用用傳傳遞遞:實(shí)實(shí)參參將將自自己己的的引引用用,也也就就是是自自己己數(shù)數(shù)據(jù)據(jù)在在存存儲(chǔ)儲(chǔ)器器中中的的地地址址拷拷貝貝給給形形參參,這這時(shí)時(shí)形形參參如如同同實(shí)實(shí)參參的的別別名名,系系統(tǒng)統(tǒng)不不必必為為形形參參開開設(shè)設(shè)存存儲(chǔ)儲(chǔ)空空間間,形形參參在在方方法法中中的的任任何何改改變變就就是是實(shí)實(shí)參參的的改改變變,所所以以引引用用參參數(shù)數(shù)既既是是方方法法的的輸輸入入,又又是是方方法法的的輸輸出出,引引用用傳傳遞遞的的形形參參需需要要用用refref關(guān)關(guān)鍵鍵字字聲聲明明,調(diào)調(diào)用用方方法法時(shí)時(shí)的的實(shí)實(shí)參參也也要要添添加加refref關(guān)關(guān)鍵字

38、。鍵字。3 3、對(duì)對(duì)于于屬屬性性、事事x x件件、索索引引器器和和用用戶戶定定義義的的運(yùn)運(yùn)算算符符來來說說,它它們們的的參參數(shù)數(shù)總總是是作作為為值值參參數(shù)數(shù)傳傳遞遞的的。這這些些成成員員類類別別不不支支持持引引用用參參數(shù)數(shù)和輸出參數(shù)(和輸出參數(shù)(outout)。)。53C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室值傳遞、引用傳遞和值傳遞、引用傳遞和refref參數(shù)參數(shù) C C#的的數(shù)數(shù)據(jù)據(jù)類類型型有有值值類類型型和和引引用用類類型型兩兩種種,所所以以參參數(shù)數(shù)傳傳遞遞時(shí)時(shí),在形式上有四種情況:在形式上有四種情況:1 1、值類型參數(shù)進(jìn)行值傳遞、值類型參

39、數(shù)進(jìn)行值傳遞2 2、引用類型參數(shù)進(jìn)行值傳遞、引用類型參數(shù)進(jìn)行值傳遞3 3、值類型參數(shù)進(jìn)行引用傳遞、值類型參數(shù)進(jìn)行引用傳遞4 4、引用類型參數(shù)進(jìn)行引用傳遞、引用類型參數(shù)進(jìn)行引用傳遞54C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室out參數(shù) 一般情況下,一個(gè)方法只有一個(gè)返回值,返回?cái)?shù)據(jù)是一種一般情況下,一個(gè)方法只有一個(gè)返回值,返回?cái)?shù)據(jù)是一種輸出的方式,輸出的方式,ref修飾的參數(shù),或者是引用類型參數(shù),它們既是修飾的參數(shù),或者是引用類型參數(shù),它們既是輸入,又是輸出,輸入,又是輸出,out參數(shù)提供了更靈活的輸出方式。參數(shù)提供了更靈活的輸出方式。outout

40、參數(shù)也稱為輸出參數(shù)。和參數(shù)也稱為輸出參數(shù)。和refref參數(shù)類似,用參數(shù)類似,用outout修飾的參修飾的參數(shù),直接將引用傳遞給方法,不在存儲(chǔ)器中為參數(shù)開設(shè)新的空數(shù),直接將引用傳遞給方法,不在存儲(chǔ)器中為參數(shù)開設(shè)新的空間,但是,和間,但是,和refref參數(shù)不一樣,調(diào)用方法前并不需要對(duì)參數(shù)作初參數(shù)不一樣,調(diào)用方法前并不需要對(duì)參數(shù)作初始化,正因?yàn)槿绱耍谑蓟?,正因?yàn)槿绱耍趏utout參數(shù)沒有被顯式賦值之前,不能使用,參數(shù)沒有被顯式賦值之前,不能使用,在方法結(jié)束前應(yīng)該對(duì)在方法結(jié)束前應(yīng)該對(duì)outout參數(shù)賦值。參數(shù)賦值。調(diào)用方法時(shí),也要用調(diào)用方法時(shí),也要用outout修飾實(shí)參,并且實(shí)參必須是變量,修

41、飾實(shí)參,并且實(shí)參必須是變量,不能是屬性、表達(dá)式。不能是屬性、表達(dá)式。out參數(shù)可以用在實(shí)例方法、靜態(tài)方法和實(shí)例構(gòu)造函數(shù)中,參數(shù)可以用在實(shí)例方法、靜態(tài)方法和實(shí)例構(gòu)造函數(shù)中,不能用在屬性和索引器中。不能用在屬性和索引器中。55C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室向方法傳遞可變數(shù)量的參數(shù)向方法傳遞可變數(shù)量的參數(shù)56C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室params參數(shù) 一般情況下,方法的輸入是通過參數(shù)列表規(guī)定的,輸入?yún)?shù)的個(gè)一般情況下,方法的輸入是通過參數(shù)列表規(guī)定的,輸入?yún)?shù)的個(gè)數(shù)不能隨著實(shí)際調(diào)

42、用的需要而改變,數(shù)不能隨著實(shí)際調(diào)用的需要而改變,params參數(shù)則提供了這樣一種參數(shù)則提供了這樣一種方便,例如,有方便,例如,有n組數(shù)據(jù),每一組數(shù)據(jù)個(gè)數(shù)都不一樣,但都要求平均組數(shù)據(jù),每一組數(shù)據(jù)個(gè)數(shù)都不一樣,但都要求平均數(shù),在數(shù),在C#中,借助中,借助params參數(shù),只要定義一個(gè)方法就可以完成這樣參數(shù),只要定義一個(gè)方法就可以完成這樣的靈活功能。的靈活功能。params參數(shù)也稱為參數(shù)數(shù)組。參數(shù)也稱為參數(shù)數(shù)組。params參數(shù)是具有一維數(shù)組性質(zhì)的數(shù)參數(shù)是具有一維數(shù)組性質(zhì)的數(shù)組類型的參數(shù),例如一維數(shù)組,或者交錯(cuò)數(shù)組,但不能是多維數(shù)組;組類型的參數(shù),例如一維數(shù)組,或者交錯(cuò)數(shù)組,但不能是多維數(shù)組;par

43、ams參數(shù)實(shí)際上是不定長(zhǎng)的數(shù)組,定義形參時(shí)要使用參數(shù)實(shí)際上是不定長(zhǎng)的數(shù)組,定義形參時(shí)要使用params關(guān)鍵關(guān)鍵字,不需要指定長(zhǎng)度,在調(diào)用時(shí),實(shí)參不需要用字,不需要指定長(zhǎng)度,在調(diào)用時(shí),實(shí)參不需要用params關(guān)鍵字,實(shí)關(guān)鍵字,實(shí)參可以是任意個(gè)數(shù)的元素,也可以是一個(gè)同類型的數(shù)組。參可以是任意個(gè)數(shù)的元素,也可以是一個(gè)同類型的數(shù)組。params參數(shù)只能作為參數(shù)列表的最后一個(gè)參數(shù)。參數(shù)只能作為參數(shù)列表的最后一個(gè)參數(shù)。params參數(shù)不能再用參數(shù)不能再用ref或或out修飾。修飾。57C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室值參數(shù)的傳遞值參數(shù)的傳遞58C#

44、程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室引用參數(shù)的傳遞引用參數(shù)的傳遞59C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室輸出參數(shù)的傳遞輸出參數(shù)的傳遞60C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室輸出參數(shù)和引用參數(shù)的區(qū)別輸出參數(shù)和引用參數(shù)的區(qū)別61C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)參數(shù)的傳入或傳出就是在實(shí)參與形參之間發(fā)生的,參數(shù)的傳入或傳出就是在實(shí)參與形參之間發(fā)生的,在在C#中實(shí)參與形參

45、有中實(shí)參與形參有4種傳遞方式。種傳遞方式。1值參數(shù)值參數(shù) 在方法聲明時(shí)不加修飾的形參就是值參數(shù),它表在方法聲明時(shí)不加修飾的形參就是值參數(shù),它表明實(shí)參與形參之間按值傳遞。這種傳遞方式的好處明實(shí)參與形參之間按值傳遞。這種傳遞方式的好處是,在方法中對(duì)形參的修改不影響外部的實(shí)參,也是,在方法中對(duì)形參的修改不影響外部的實(shí)參,也就是說,數(shù)據(jù)只能傳入方法而不能從方法傳出,所就是說,數(shù)據(jù)只能傳入方法而不能從方法傳出,所以值參數(shù)有時(shí)也被稱為入?yún)?shù)。以值參數(shù)有時(shí)也被稱為入?yún)?shù)。62C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室using System;class Myc

46、lass public void Sort(int x,int y,int z)int tmp;/tmp是方法是方法Sort的局部變的局部變量量 /將將x,y,z按從小到大排序按從小到大排序if(xy)tmp=x;x=y;y=tmp;if(xz)tmp=x;x=z;z=tmp;if(yz)tmp=y;y=z;z=tmp;class Test static void Main()Myclass m=new Myclass();int a,b,c;a=30;b=20;c=10;m.Sort(a,b,c);Console.WriteLine(a=0,b=1,c=2,a,b,c);Console.Re

47、ad();【例例3.7】下面的程序演示了當(dāng)方法Sort傳遞的是值參數(shù)時(shí),對(duì)形參的修改不影響其實(shí)參。方法的參數(shù)方法的參數(shù)63C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù) a、b、c 變量的值并沒有發(fā)生改變,因?yàn)樗鼈兌甲兞康闹挡]有發(fā)生改變,因?yàn)樗鼈兌际前粗祩鹘o形參是按值傳給形參x、y、z的,形參的,形參x、y、z的變化的變化并不影響外部并不影響外部a、b、c的值。的值。但如果給方法傳遞的是一個(gè)引用對(duì)象時(shí),它遵循的但如果給方法傳遞的是一個(gè)引用對(duì)象時(shí),它遵循的仍是值參數(shù)傳遞方式,形參另外分配一塊內(nèi)存,接仍是值參數(shù)傳遞方式,形參另外分配

48、一塊內(nèi)存,接受實(shí)參的引用值副本,同樣對(duì)引用值的修改不會(huì)影受實(shí)參的引用值副本,同樣對(duì)引用值的修改不會(huì)影響外面的實(shí)參。但是,如果改變參數(shù)所引用的對(duì)象響外面的實(shí)參。但是,如果改變參數(shù)所引用的對(duì)象將會(huì)影響實(shí)參所引用的對(duì)象,事實(shí)上,它們是同一將會(huì)影響實(shí)參所引用的對(duì)象,事實(shí)上,它們是同一塊內(nèi)存區(qū)域。塊內(nèi)存區(qū)域。64C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室【例3.8】下面程序演示的是當(dāng)方法傳遞的是一個(gè)引用對(duì)象(如數(shù)組)時(shí),對(duì)形參的修改會(huì)影響到實(shí)參。方法的參數(shù)方法的參數(shù)using System;class Myclass public void SortArr

49、ay(int a)int i,j,pos,tmp;for(i=0;ia.Length1;i+)for(pos=j=i;ja j)pos=j;if(pos!=i)tmp=ai;ai=apos;apos=tmp;65C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)class Test static void Main()Myclass m=new Myclass();int score=87,89,56,90,100,75,64,45,80,84;m.SortArray(score);for(int i=0;iy)tmp=x;x=y;y

50、=tmp;if(xz)tmp=x;x=z;z=tmp;if(yz)tmp=y;y=z;z=tmp;68C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)class Teststatic void Main()Myclass m=new Myclass();int a,b,c;a=30;b=20;c=10;m.Sort(ref a,ref b,ref c);Console.WriteLine(a=0,b=1,c=2,a,b,c);Console.Read();69C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件

51、教教 研研 室室方法的參數(shù)方法的參數(shù)使用使用ref時(shí)請(qǐng)注意:時(shí)請(qǐng)注意:(1)ref關(guān)鍵字僅對(duì)跟在它后面的參數(shù)有效,而不能應(yīng)用于關(guān)鍵字僅對(duì)跟在它后面的參數(shù)有效,而不能應(yīng)用于整個(gè)參數(shù)表。例如,整個(gè)參數(shù)表。例如,Sort方法中方法中x、y、z都要加都要加ref修飾。修飾。(2)在調(diào)用方法時(shí),也用)在調(diào)用方法時(shí),也用ref修飾實(shí)參變量,因?yàn)槭且脜⑿揎棇?shí)參變量,因?yàn)槭且脜?shù),所以要求實(shí)參與形參的數(shù)據(jù)類型必須完全匹配,而且實(shí)數(shù),所以要求實(shí)參與形參的數(shù)據(jù)類型必須完全匹配,而且實(shí)參必須是變量,不能是常量或表達(dá)式。參必須是變量,不能是常量或表達(dá)式。(3)在方法外,)在方法外,ref參數(shù)必須在調(diào)用之前明確賦值

52、,在方法參數(shù)必須在調(diào)用之前明確賦值,在方法內(nèi),內(nèi),ref參數(shù)被視為已賦過初始值。參數(shù)被視為已賦過初始值。70C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)3.輸出參數(shù)輸出參數(shù) 在參數(shù)前加在參數(shù)前加out修飾符的被稱為輸出參數(shù),它與修飾符的被稱為輸出參數(shù),它與ref參數(shù)相似,只有一點(diǎn)除外,就是它只能用于從參數(shù)相似,只有一點(diǎn)除外,就是它只能用于從方法中傳出值,而不能從方法調(diào)用處接受實(shí)參數(shù)據(jù)。方法中傳出值,而不能從方法調(diào)用處接受實(shí)參數(shù)據(jù)。在方法內(nèi)在方法內(nèi)out參數(shù)被認(rèn)為是未賦過值的,所以在方參數(shù)被認(rèn)為是未賦過值的,所以在方法結(jié)束之前應(yīng)該

53、對(duì)法結(jié)束之前應(yīng)該對(duì)out參數(shù)賦值。參數(shù)賦值。71C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室【例例3.10】求一個(gè)數(shù)組中元素的最大值、最小值和平均值。方法的參數(shù)方法的參數(shù)using System;class Myclass public void MaxMinArray(int a,out int max,out int min,out double avg)int sum;sum=max=min=a0;for(int i=1;imax)max=ai;if(aimin)min=ai;sum+=ai;avg=sum/a.Length;72C#程程 序

54、序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)class Teststatic void Main()Myclass m=new Myclass();int score=87,89,56,90,100,75,64,45,80,84;int smax,smin;double savg;m.MaxMinArray(score,out smax,out smin,out savg);Console.Write(Max=0,Min=1,Avg=2 ,smax,smin,savg);Console.Read();73C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算

55、 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù) ref和和out參數(shù)的使用并不局限于值類型參數(shù),它們也可用參數(shù)的使用并不局限于值類型參數(shù),它們也可用于引用類型來傳遞對(duì)象。于引用類型來傳遞對(duì)象?!纠?.11】下面程序定義了兩個(gè)方法,一個(gè)是下面程序定義了兩個(gè)方法,一個(gè)是Swap1,一,一個(gè)是個(gè)是Swap2,它們都有兩個(gè)引用對(duì)象作為參數(shù),但,它們都有兩個(gè)引用對(duì)象作為參數(shù),但Swap2的參數(shù)加了的參數(shù)加了ref修飾,調(diào)用這兩個(gè)方法產(chǎn)生的結(jié)果是不一樣的。修飾,調(diào)用這兩個(gè)方法產(chǎn)生的結(jié)果是不一樣的。74C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教

56、教 研研 室室方法的參數(shù)方法的參數(shù)using System;class Myclass public void Swap1(string s,string t)string tmp;tmp=s;s=t;t=tmp;public void Swap2(ref string s,ref string t)string tmp;tmp=s;s=t;t=tmp;class Teststatic void Main()75C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)Myclass m=new Myclass();string s1=ABC

57、DEFG,s2=134567;m.Swap1(s1,s2);Console.WriteLine(s1=0,s1);/s1,s2的引用并沒有改變的引用并沒有改變Console.WriteLine(s2=0,s2);m.Swap2(ref s1,ref s2);/s1,s2的引用互相交換了的引用互相交換了Console.WriteLine(s1=0,s1);Console.WriteLine(s2=0,s2);Console.Read();76C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)4參數(shù)數(shù)組參數(shù)數(shù)組 一般而言,調(diào)用方法時(shí)其實(shí)參

58、必須與該方法聲明的形參在一般而言,調(diào)用方法時(shí)其實(shí)參必須與該方法聲明的形參在類型和數(shù)量上相匹配,但有時(shí)候我們更希望靈活一些,類型和數(shù)量上相匹配,但有時(shí)候我們更希望靈活一些,C#提供了傳遞可變長(zhǎng)度參數(shù)表的機(jī)制,使用提供了傳遞可變長(zhǎng)度參數(shù)表的機(jī)制,使用params關(guān)鍵字關(guān)鍵字來指定一個(gè)可變長(zhǎng)的參數(shù)表。來指定一個(gè)可變長(zhǎng)的參數(shù)表?!纠?.12】下面程序演示了下面程序演示了Myclass類中的方法類中的方法MaxMin有一個(gè)參數(shù)數(shù)組類型的參數(shù),在調(diào)用這個(gè)方法時(shí)具有靈活性。有一個(gè)參數(shù)數(shù)組類型的參數(shù),在調(diào)用這個(gè)方法時(shí)具有靈活性。77C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教

59、教 研研 室室方法的參數(shù)方法的參數(shù)using System;class Myclass public void MaxMin(out int max,out int min,params int a)if(a.Length=0)/如果可變參數(shù)為零個(gè),可以取一個(gè)約定值或產(chǎn)生異常如果可變參數(shù)為零個(gè),可以取一個(gè)約定值或產(chǎn)生異常max=min=1;return;max=min=a0;for(int i=1;imax)max=ai;if(aimin)min=ai;78C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)class Test sta

60、tic void Main()Myclass m=new Myclass();int score=87,89,56,90,100,75,64,45,80,84;int smax,smin;m.MaxMin(out smax,out smin);/可變參數(shù)的個(gè)數(shù)可以是零個(gè) Console.WriteLine(Max=0,Min=1 ,smax,smin);m.MaxMin(out smax,out smin,45,76,89,90);/在4個(gè)數(shù)之間找最大、最小 Console.WriteLine(Max=0,Min=1 ,smax,smin);m.MaxMin(out smax,out smin

61、,score);/可變參數(shù)也可接受數(shù)組對(duì)象 Console.WriteLine(Max=0,Min=1 ,smax,smin);Console.Read();79C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室C#C#的優(yōu)勢(shì)的優(yōu)勢(shì) 作為編程語言,作為編程語言,C#是現(xiàn)代的、簡(jiǎn)單的、完全面向是現(xiàn)代的、簡(jiǎn)單的、完全面向?qū)ο蟮模沂穷愋桶踩?。重要的是,?duì)象的,而且是類型安全的。重要的是,C#是一是一種現(xiàn)代編程語言。在類、名字空間、方法重載和異種現(xiàn)代編程語言。在類、名字空間、方法重載和異常處理等方面,常處理等方面,C#去掉了去掉了C+中的許多復(fù)雜性,中的許

62、多復(fù)雜性,借鑒和修改了借鑒和修改了Java的許多特性,使其更加易于使的許多特性,使其更加易于使用,不易出錯(cuò)。用,不易出錯(cuò)。下面列舉了一些下面列舉了一些C#在設(shè)計(jì)上的優(yōu)點(diǎn):在設(shè)計(jì)上的優(yōu)點(diǎn):80C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參數(shù)方法的參數(shù)【例例3.12】下面程序演示了下面程序演示了Myclass類中的方法類中的方法MaxMin有一個(gè)參數(shù)數(shù)組類型的參數(shù),在調(diào)用這個(gè)有一個(gè)參數(shù)數(shù)組類型的參數(shù),在調(diào)用這個(gè)方法時(shí)具有靈活性。方法時(shí)具有靈活性。81C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室方法的參

63、數(shù)方法的參數(shù)using System;class Myclass public void MaxMin(out int max,out int min,params int a)if(a.Length=0)/如果可變參數(shù)為零個(gè),可以取一個(gè)約定值或產(chǎn)如果可變參數(shù)為零個(gè),可以取一個(gè)約定值或產(chǎn)生異常生異常max=min=1;return;max=min=a0;for(int i=1;imax)max=ai;if(ai 2)_id=value;public string GetId()return _id;方法方法 SetId(Value)和和 GetId()分別讀取和寫入職員分別讀取和寫入職員 ID

64、 Employee emp;emp.SetId(A1);string Department=emp.Get()每次每次都都調(diào)用調(diào)用 GetId()和和 SetId()方法會(huì)很繁瑣方法會(huì)很繁瑣屬性101C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的屬性簡(jiǎn)介類的屬性簡(jiǎn)介class Employee private static string _name;private static string _id;public string Id get return _id;set/驗(yàn)證輸入長(zhǎng)度小于驗(yàn)證輸入長(zhǎng)度小于 2if(_id.Length 2)_id=

65、value;讀取讀取 ID 時(shí)調(diào)用時(shí)調(diào)用 將值將值賦給賦給 ID 時(shí)調(diào)用時(shí)調(diào)用 102C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的屬性類型類的屬性類型1 1 訪問修飾符訪問修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 屬屬性名性名 get;set;讀/寫屬性可以賦值和檢索值可以賦值和檢索值103C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的屬性類型類的屬性類型2 2訪問修飾符 數(shù)據(jù)類型 屬性名get;只讀屬性只能檢索值104C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的

66、屬性類型類的屬性類型3 3訪問修飾符 數(shù)據(jù)類型 屬性名set;只寫屬性只能賦值105C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的屬性類型類的屬性類型4 4訪問修飾符static 數(shù)據(jù)類型 屬性名get;set;靜態(tài)屬性應(yīng)用于整個(gè)類而不是類的實(shí)例只能訪問類的靜態(tài)成員106C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室類的屬性類的屬性valuevalue關(guān)鍵字:表示對(duì)屬性進(jìn)行寫操作時(shí)提供的參數(shù)。關(guān)鍵字:表示對(duì)屬性進(jìn)行寫操作時(shí)提供的參數(shù)。get定義屬性的讀操作定義屬性的讀操作set定義屬性的寫操作定義屬性的寫操作107C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室屬性與字段屬性與字段1、對(duì)于屬性,可以提供、對(duì)于屬性,可以提供get方法以支持讀,方法以支持讀,set方法以支持寫,也可以不提供。方法以支持寫,也可以不提供。108C#程程 序序 設(shè)設(shè) 計(jì)計(jì)計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系 軟軟 件件 教教 研研 室室屬性與字段屬性與字段2、屬性擁有一些方法的特

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!