河北工業(yè)大學(xué).NET程序設(shè)計C#實驗報告實驗三_第1頁
河北工業(yè)大學(xué).NET程序設(shè)計C#實驗報告實驗三_第2頁
河北工業(yè)大學(xué).NET程序設(shè)計C#實驗報告實驗三_第3頁
河北工業(yè)大學(xué).NET程序設(shè)計C#實驗報告實驗三_第4頁
河北工業(yè)大學(xué).NET程序設(shè)計C#實驗報告實驗三_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C#、net實驗報告姓名:1 42 8 71成績:一、實驗?zāi)康眉耙蟆緦嶒災(zāi)康谩?、如何創(chuàng)建類與對象.2、如何為定義得類編寫相應(yīng)得方法。3、如何通過屬性訪問對象中得數(shù)據(jù)【實驗要求】1、寫出程序,并調(diào)試程序,要給出測試數(shù)據(jù)與實驗結(jié)果2、整理上機(jī)步驟,總結(jié)經(jīng)驗與體會。3、完成實驗日志與上交程序。二、實驗環(huán)境Win dows7操作系統(tǒng)Visual Studio 2005及以上版本三、實驗內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)行結(jié)果、實驗總結(jié))【實驗1-11】編寫一個控制臺應(yīng)用程序,定義并使用一個時間類間增加1秒、1分與1小時得方法,具有分別顯示時、分、秒與同時顯示時分秒得方法1、源代碼:us1ngSy

2、stem;publ1cclass Time字段pr1vate int hour;private intm實驗名稱:日期:20 16/0 4 /24面向?qū)ο缶幊掏蹊磳W(xué)號:實驗類與對象編程,該類包含時、分、秒字段與屬性,具有將時inite;private int second;/屬性pub1ic intHourpublicintMinitegetreturnminite;setnite=va1ue;geteturnsecond;setsecond=value;/方法/加時方法pub1ic void SAdd()second+;minite+;second=second%6 0;if(minite6

3、0)getreturn hour;sehour=Value;if(second60)blint Secondhou葉 + ;minite=minite%60;if(hour24)hour=hour%24;nite+;hour+;minite=minite%60;hour24)hour=hour%24;if(hour24)hour=hour%24;/輸出方法pub1icvoid HPrint()Console、WriteLine(現(xiàn)在時為:0 ,hour);publicvoid MPrint()Console、WriteLine(現(xiàn)在分為:0,minite);publicVold SPrint(

4、)Console、WriteLine(現(xiàn)在秒為:0,second);pub1ic vo1d HAdd()hour+;publicvoidMAdd()if(minite60)hou葉 + ;publicvoid TimePrint()Console WriteLine(得出準(zhǔn)確時間為:0時1分2秒,hour,minite,second);/主函數(shù)me();teL1ne(獲取系統(tǒng)時間中、-);time、Hour=DateTime、Now、Hour;time、Minite=DateTime、Now、Minute; /剛剛發(fā)現(xiàn)前面得minute全寫成 minute了、英語不太、time、Second=

5、DateTime、Now、Second;time、TimePrint();Console、WriteLine(現(xiàn)在加一秒功能:);time、SAdd();time、T1mePrint();Console、WriteLine(現(xiàn)在加一分功能:);time、MAdd();time、TimePrint();Console、WriteLine(”現(xiàn)在加一時功能:);time、HAdd();t1me、Time Print。;Console、WriteLine(現(xiàn)在依次調(diào)用三個方法輸出時分秒:”;time、HPrint();time、MPrint();time、SPrint();25時為25%24=1,即

6、1時;另外還要注意秒得增加帶給分、時得影響等。2)加時功能直接使用time+,并注意判斷對其她時間得影響pub1icclassTextpub1icstaticvoidMain()Time time= newConsole、Wri2、關(guān)鍵代碼解釋:1)時鐘循環(huán)需要取模運(yùn)算,如第3)獲取時間采用了DataTime里得函數(shù),直接獲取系統(tǒng)時間。3、運(yùn)行結(jié)果0 0: : US2EI0SUS2EI0S安裝、忙實驗1 1 - -1 1獲取系統(tǒng)時冋中得出眶確時為門6 6時1818分T T秒現(xiàn)在加一秒功能:得出岸確時間為;1$1$時11 8 8幷8 8秒現(xiàn)在加=專功能:得出范確時阿為門6 6時1919分8 8秒

7、現(xiàn)在加一B B、功能:得出腹確H H問為;和時1919分8 8秒b b在依次調(diào)衽三個方法輸岀時分秒;k k見在時為:1717現(xiàn)在分:319319現(xiàn)在杪為洱4、實驗總結(jié)結(jié)合實踐明白了屬性得用法與含義,并且通過百度了解了怎么從系統(tǒng)中讀取現(xiàn)在得時間?!緦嶒?12】編寫一個控制臺應(yīng)用程序,程序中有兩個類定義,一個就是創(chuàng)建程序時系統(tǒng)自動創(chuàng)建得類 C一個就是用戶自定義得Student類,要求該類包含私有字段:學(xué)號(字符串)姓名(字符串)與性別(字符),具 有三個屬性:學(xué)號(讀寫)、姓名(只讀)、性別(讀寫),具有有參構(gòu)造方法、具有同時顯示學(xué)生個 人信息得方法。在CIaSsi 中完成以下功能:1)從鍵盤上輸

8、入一個學(xué)生得個人信息(學(xué)號、姓名、性別)。2)修改該學(xué)生得學(xué)號與性別.3)打印修改前后該學(xué)生得個人信息。1、源代碼usingSystem;public classStudent/字段privatestring num;private string name; p rivate charsex;priVate stringoldnum;private char oldsex;/屬性public stringNumgetreturn num;setlassi,num=value;num=Console、ReadLine(); Conso1e WriteLine(”姓名);name=Console

9、、ReadL1ne();Console、WriteLine(性別);sex=Convert、ToChar( Conso1e、ReadLine();publicVoid Revise()Conso1e、WriteLine( ”請對輸入得學(xué)號重新進(jìn)行編輯:);o1dnum=num;num = Console、ReadLine();publicstring Namegetreturn name;setname=Va1 ue;ubl1c char Sexgetreturn sex;seX=va1ue;方法public Studet(string c,stringn,chars)num=name=n;s

10、ex=s;public voidPrintIn()Conso1e、WriteL 1 ne(學(xué)號);Console、WriteLine(”請對輸入得性別重新進(jìn)行編輯:); oldsex=sex;sex =Convert、ToChar(Console、ReadLine();ub1ic void PrintOut()Console、WriteLine(修改前得信息為:學(xué)號:0,姓名:1,性別:2 ,o1dnum,name,oldsex);Console、WriteLine(修改后得信息為:學(xué)號:0,姓名:1,性別:2,num,name,sex);p ub1ic static void Main()s

11、tudent1、Revise();student1、PrintOut();publicclass c1ass 1Conso1e、Studentstudent!WriteLine(在本信息中男為Q女為N);student1 =new Student(”12”,王蘭”,PrintIn();N);2、關(guān)鍵代碼解釋1) 為了能同時輸出修改前修改后得名稱,引入了字段dnum,oldsex,將修改前得傳給這兩個值并將新值覆蓋原字段num與sex.3、實驗結(jié)果:9; ;VS20Q5gVS20Q5g裝比;實殮1 1 -2-2在木信a a中男為Q Q女為N N學(xué)號142871142871姓名王璐性別N N請對輸

12、入的學(xué)號重新進(jìn)行編輯L L142870142870請對輸入的性別重新進(jìn)行編輯:Q Q修改前的信息為:學(xué)號:142ST1.142ST1.姓名: 修改后的信息為;學(xué)號;142270,142270,姓名:王璐,王璐,孝別:N N哇別;Q Q4、實驗分析:雖然設(shè)置了屬性,但沒用實際用到, 感覺可能沒有編好。另外為了滿足第3個實驗條件,同時輸出,所以引入了新字段,不知道就是否符合要求。Clas【實驗1-1-3】:學(xué)號(字符串)、姓名(字符串)、 成績(double)以及私有靜態(tài)字段:學(xué)生人數(shù)、學(xué)生總成績、學(xué)生平均成績,具有有參構(gòu)造方法、 顯示學(xué)生個人信息得公有實例方法與顯示學(xué)生人數(shù)、總成績及平均成績得公

13、有靜態(tài)方法。在C1ass1類得Main方法中完成以下功能:從鍵盤上依次輸入三個學(xué)生得個人信息(學(xué)號、姓名、成績).統(tǒng)計全部學(xué)生得人數(shù)、總成績與平均成績.打印學(xué)生們得個人信息及全部學(xué)生得人數(shù)、總成績與平均成績。源代碼usingSystem;public class Student/字段private stringnum;private string name;prlvatedoublescore;pub1ic stat ic lnt count;publicstatlc doubleaddscore;public static doub1eaverage;/方法publicStudent()co

14、unt+;Console、WriteLine(請輸入一位同學(xué)得信息:);Console、WriteLine(學(xué)號:”Console、ReadLine();Console、WriteLine(姓名:);name = Console、ReadLine();Console、WriteLine(成績:”;score =Convert、ToDoub1e(Console、ReadLine();addscore += score;public static void Average()average= addscore / count;編寫一個控制臺應(yīng)用程序,程序中有兩個類定義,一個就是創(chuàng)建程序時系統(tǒng)自動創(chuàng)

15、建得類S1,個就是用戶自定義得student類,要求該類包含私有實例字段1)2)3)publicVoid Println()numClasConsole、WriteLine(學(xué)號:0,姓名1,成績2 ”,num,name,score);publicvoid Print1()ublic stat1c voidPrint2()Console、WriteLine(”輸入得學(xué)生總?cè)藬?shù)為:0”,count);Conso1e、WriteLine(同學(xué)們得總成績?yōu)椋? ,addscore);Console、WriteLine(同學(xué)們得平均成績?yōu)椋?,average);publclassc1asslpubli

16、cstatic voidMainConsole、WriteLi在本信息記錄中,性別男為 Q,女為N);Student studentnewStudent();studentl、PrintIn);Student student2=new Student();student2、Println();Student student3=new Student(););student3、PrintInStudent、Average();Console、WriteLine(同學(xué)們得信息為:);studentl、Print1();student2、Print1();student3、Print1();Stud

17、ent、Print2();/就是否可以建立類數(shù)組?、關(guān)鍵代碼解釋有關(guān)關(guān)鍵代碼得解釋后面得實驗都直接寫在代碼得/備注里了.3、實驗結(jié)果Windows7 操作系統(tǒng),VisualStudio2005及以上版本0101昔珪弭川StudioStudio 200?200?I I在本信息耙錄札丑別男猛女為N N請輸人一 ft 同學(xué)的信良; 學(xué)號:H2870H2870姓匕紅成績!請箍入一位同學(xué) ffl 信息:142871142871姓匕 藍(lán) 成績:9999請箍入一位同學(xué)的信息; 學(xué)號!142S72142S72姓啟:黃成疑6969同學(xué)們的信息為, :US29Q5StC:US29Q5StC4、實驗總結(jié):學(xué)會了在r

18、eadiine里面使用類型轉(zhuǎn)換。認(rèn)為也許可以使用類得數(shù)組來定義這三個學(xué)生一、實驗?zāi)康眉耙蟆緦嶒災(zāi)康谩?、理解繼承得含義,掌握派生類得定義方法與實現(xiàn);2、理解虛函數(shù)在類得繼承層次中得作用,虛函數(shù)得引入對程序運(yùn)行時得影響,能夠?qū)κ褂锰摵瘮?shù)得簡單程序?qū)懗龀绦蚪Y(jié)果.3、 編寫體現(xiàn)類得繼承性(成員變量,成員方法,成員變量隱藏)得程序;4、 編寫體現(xiàn)類多態(tài)性(成員方法重載,構(gòu)造方法重載)得程序?!緦嶒炓蟆?寫出程序,并調(diào)試程序,要給出測試數(shù)據(jù)與實驗結(jié)果。2、整理上機(jī)步驟,總結(jié)經(jīng)驗與體會。3、完成實驗日志與上交程序。二、實驗環(huán)境142870,142870,姓名紅.1M23T1,1M23T1,硅名S,S,

19、亭號:1M2S72,1M2S72,姓名黃,輸入的*生總?cè)藬?shù)為.3 3同學(xué)們的總績?yōu)椋?4247 7同李計i i的平堆底績?yōu)椋?2.33333133353382.333331333533實驗繼承與多態(tài)編程,但沒有實現(xiàn)。三、實驗內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)行結(jié)果、實驗總結(jié)【實驗1-2-1】創(chuàng)建一個描述圖書信息得類并測試。類中應(yīng)保存有圖書得書號、標(biāo)題、作者、1)定義圖書類Book,Book類中包含isbn(書號)、title(標(biāo)題)、autprice(價格)等私有字段。由于對一本書來說,書號就是唯一得,因此,出版社、價格等信息.hor (作者)、press(出版社) 、isbn字段應(yīng)聲明為只

20、讀得。2)為Book類中得每個字段定義相應(yīng)得屬性,由于isbn 字段只讀得,其相應(yīng)屬性也應(yīng)該就是只讀得。3)為Book 類定義兩個構(gòu)造函數(shù),其中,一個構(gòu)造函數(shù)將所有字段都初始化為用戶指定得值,另一個 構(gòu)造函數(shù)只要求用戶指定有關(guān)書號得信息,它將調(diào)用上一個構(gòu)造函數(shù)初始化對象 書號得其她信息取“未知。4)為Book 類定義方法Sh0W, Show方法用于顯示圖書得所有信息。5)編寫Main方法測試Book類,Main方法中分別使用上述兩個構(gòu)造函數(shù)創(chuàng)建1、源代碼using System; publicclass Book/定義私有字段,初始化時,價格取 0,除Book對象。privatereadon1

21、y string isbn;privatestringtitle;private string author;p rivatestringpress;private double price;/定義屬性publicstringIsbngetretUrn isbn;publicstringTitlegetreturntitle;setTitlevalue;p ublic stringAuthorgetreturn author;publicstring Pregetgetreturn price;etPrice = value;/定義構(gòu)造函數(shù)pub1lcBook(string isbn,stri

22、ng title, strlng author, stringpress,double price)this、isbn = isbn;this、title= title;this 、press = press;this 、price= price;setAuthor=va1ue;sepublireturnpress;Press = value;doub1e P ricethis、author= author;/繼承第一個構(gòu)造函數(shù)pub1ic Book(string isbn):this(isbn, ”未知,未知,”未知,0) public voidShow()Console、WriteLine

23、(這本書得信息如下:”;Console WriteLine(”書號:0 ”,isbn);Console、WriteLine(”標(biāo)題:0”,Console、WriteLine(作者:0”,Console、WriteLine(出版社:0,Console、WriteLine(價格:0publicstat1c voidMain()Console、WriteLine(請按行依次輸入第一個書本信息,依次為書號,標(biāo)題,作者,出版社,價格);Book book1 = new Book(Convert、ToString(Console、ReadLine(),Convert、ToString(Console、Re

24、adLine(),Convert、ToString(Console、ReadLine(),Convert、ToString(Console、ReadLine(),Convert、ToDouble(Console、ReadLine();book1、Show();Console、WriteLine(”請輸入第二個書本得書號”);Book book2= new Book(Convert、ToString( Console、ReadLine(); book2、Show();3、實驗總結(jié):學(xué)會了用構(gòu)造函數(shù)繼承構(gòu)造函數(shù),另外經(jīng)過查閱還明白了this指針可以代替對象來調(diào)用對象得字段。 還實踐了可以在構(gòu)造函數(shù)

25、調(diào)用時調(diào)用輸入函數(shù)。【實驗 1 22】編寫一個程序計算出球、圓柱與圓錐得表面積與體積。1) 定義一個基類圓,至少含有一個數(shù)據(jù)成員:半徑;2)定義基類得派生類:球、圓柱、圓錐,都含有求體積函數(shù),可以都在構(gòu)造函數(shù)中實現(xiàn),也可以將求 體積與輸出寫在一個函數(shù)中,或者寫在兩個函數(shù)中,請比較使用.3)定義主函數(shù),求球、圓柱、圓錐得與體積。3、設(shè)計一個圖書卡片類Card,用來保存圖書館卡片分類記錄。classBookTest11tle);author);press);, price);2、 實驗結(jié)果1)這個類得成員包括書名、作者、館藏數(shù)量.2)至少提供兩個方法,store書得入庫處理,show顯示圖書信息.

26、3) 程序運(yùn)行時,可以從控制臺上輸入需要入庫圖書得總量,根據(jù)這個總數(shù)創(chuàng)建 Card 對象數(shù)組,然后輸 入數(shù)據(jù)。4)可以選擇按書名、作者、入庫量進(jìn)行排序.1、源代碼using System;pub1icclass Circleprotecteddouble R;publicconst double Pl=3、/定義繼承類球,繼承圓public class Ba1l:Circ1e/定義表面積、體積字段protected doubleVol;protectedd0uble Area;/構(gòu)造函數(shù)public Ball(doub1e r)R=r;求表面積與體積得方法。采用先求表面積與體積再輸出p ubl

27、icdouble GetArea()Area =4*Pl*R*R;return Area;pub1ic double GetVol()V0 1=(4、013、0)*PI*R*R*R;WriteLine(球得表面積為:0,Area);Console、WriteLine(球得體積為:0,Vol);/定義繼承類圓柱,繼承圓,比較兩種輸出體積得方法(圓錐采用不繼承圓,直接繼承圓柱得做法)publicclassCyl:Circle/定義表面積、體積字段/定義基類圓eturn Vo1;publd Print()Cons0le、classTextprotected double Vol;protectedd

28、ouble Area;protecteddoubleh;構(gòu)造函數(shù)public Cyl() public Cyl(double r,double h)this 、h=h;/采用直接輸出體積與表面積b1icvirtualvoid GetArea()Area=h*2 l*R+2*PI*R*R;Console、WriteLine(”圓柱得表面積為:public virtual voidGetVol()Vol=h*PI*R*R; 0,Area);blicConso1class Cone:e、WriteLine(圓柱得體積為:0”,Vol);字段已經(jīng)定義,ublicCone(double r,double

29、 h)構(gòu)造函數(shù)不繼承R=rthis、h=h;/重寫基類中得表面積、體積函數(shù)ublic overridevoid GetArea()Area=PI*R*R0、5*2*PI*R*System、Math、Sqrt(R*R+h*h);Console、WriteLine(圓錐得表面積為:0,Area);public override void GetVol()Vol1、03、0)*h * PI * R * R;Console、WriteLine(圓錐得體積為:0 , Vol);publ1c staticvoid Main()Console、WriteLine(”請輸入球得半徑:);double coun

30、t = Convert、ToDoub1e(Console、ReadLine();Ba1l bal1= newBal1(count);doub1eA=ball、GetArea();double V=ball、GetVol();ba1l、Print();Console、WriteLine( ”請按行依次輸入圓柱得半徑、高);Cyl cyl = new Cyl(Convert、ToDouble(Console、ReadLine() ,Convert、ToDouble(Console、ReadLine();cyl、GetArea();cyl、GetVol();/相比較兩種輸出方法,直接輸出法更簡單。C

31、onsole、WriteLine(請按行依次輸入圓錐得半徑、高”);Cone cone = newCone(Convert、ToDouble(Console、ReadLine(), Convert、ToDouble(Console、ReadLine();cone、GetArea();cone、GetVol(); 2、實驗結(jié)果3、實驗總結(jié)在計算圓錐表面積時學(xué)會了SystemMath、Sqrt()得使用方法沒有采用0個參數(shù)得重載:說明參數(shù)不能為空,錯誤出在把Convert、ToDouble( Conso1e、ReadLine()括號里與括號外得內(nèi)容寫反了另外很粗心在Wr1teLine里里面忘記加0

32、,編譯沒出錯但拋出了異常,又找了半天才修改好?!緦嶒?1-2 3】設(shè)計一個圖書卡片類Card,用來保存圖書館卡片分類記錄。1)這個類得成員包括書名、作者、館藏數(shù)量.2) 至少提供兩個方法,store書得入庫處理,show顯示圖書信息。3) 程序運(yùn)行時,可以從控制臺上輸入需要入庫圖書得總量,根據(jù)這個總數(shù)創(chuàng)建 入數(shù)據(jù)。4) 可以選擇按書名、作者、入庫量進(jìn)行排序。1、源程序using System;publicclassLibrarypublic static int Num=0;publicstaticvoid Show()Console、WriteLine(圖書館共入庫了0本書 ”, Num);

33、rivatestring name;public string Nameetreturnname;private string author;public stringAuthorgetreturn author;getreturn num;pubConsole、WriteLine( ”輸入要入庫得書信息,包括書名、作者、入庫量);publicclass CardprPuivateblicintnum=0;nt NumCard對象數(shù)組,然后輸icvoid Store()this、name=Convert、ToString(Console、ReadLine();this、author=Conve

34、rt 、ToString(Console 、ReadLine();um=Convert、ToInt32(Console、ReadLine()Console、WriteLine( ”圖書信息如下:”);Console、WriteLine(書名:0,作者:1,館藏數(shù)量2,name,author,num);new Card();/學(xué)會了定義對象得數(shù)組,應(yīng)該先創(chuàng)建數(shù)組,再依次對里面得所有成員ardi、Store();Library、Show();Console、WriteLine(請選擇按什么排序:、書名2、作者3、存庫量 );inta= Convert、ToInt32( Console、ReadLi

35、ne(); switch(a)case1:Console、WriteLine( ”按書名從小到大排序);ardi、Name,cardj、Name)0)temp = cardi;publiclas Textpublc static void Main()inti;Card temp;Cardcard =new Card3;for(i=0; i3; i+)進(jìn)行創(chuàng)建。or(i0; i2; i+)for(int j = i;j 3;j+)cardi=cardi +1;cardi + 1= temp;this、nLibrary、 Num+=num;blic void Show()cardif (stri

36、ng、pare(cf or(1= 0;i3;1+)比較函數(shù)得使用card1、Show();break;case2:Console 、 WriteLin e( ”按作者從小到大排序 ”);i=0;12;i+)for(int3;j+)for(str1ng、 pare(cardi、Author, cardj、Author)emp =cardi;cardicardi1temp;0)/學(xué)會了0; i3;i+)card1、Show();break;case 3:Console、WriteLine(按存庫量從小到大排序 ”;for0)cardi;card1cardi +1;cardi +1 = ternp;

37、i3;i+)le、WriteLine(輸入錯誤。);break;2、實驗結(jié)果(實驗結(jié)果檢測時選擇了用 :US20a5$SUC:US20a5$SUC3、實驗總結(jié)學(xué)會了定義對象得數(shù)組,應(yīng)該先創(chuàng)建數(shù)組,再依次對里面得所有成員進(jìn)行創(chuàng)建。 經(jīng)過查閱學(xué)會了比較函數(shù)得使用。類得多態(tài)性練習(xí)【實驗1-2-4】設(shè)計雇員系統(tǒng)。1) 定義雇員基類,共同得屬性,姓名、地址與出生日期;2)派生類:程序員,秘書,高層管理,清潔工,她們有不同得工資算法,其中高級主管與程序員采用底薪加提成得方式,高級主管與程序員得底薪分別就是 5000元與2000 元,秘書與清潔工采用工資得方式,工資分別就是3000與 1000,以多態(tài)得方式

38、處理程序.1、源代碼using System;cardi、Show();break;default:IBSIBS苣瓷員visualvisual StudStud o o 20052005去咯握亡 輸入要入庫的書信息品書老I I書節(jié)1 1小紅3 3輸入要入庫伯書佶坦.尅括書;、書M2M2小蘭S S輸人雋入庫的韋信息包拮書喀、 書333333小白斗3 3書館丼入庫了本書 請選擇按什么捋序:1 1、書主2,2,作者3.存*雖2按作者叢小食大ftft呼 圖書信息如下= 書名:柞者.囲書信息如下:書詔,書紂亂柞?t t3 3書信息如下:書名:書111.111.年者:件亂作吉、作者、小蘭小弐小紅,入庫瑩人

39、庫量Conso2號按作者從小到大排序)pub1icclass EmpIoyeeprivatestring name; /定義雇員基類得姓名、地址、出生日期、底薪、提成以及其屬性./屬性為可讀可寫,實驗結(jié)果中為了簡練沒有調(diào)用姓名地址出生日期等,不過調(diào)用了底薪、提成及其屬性以體現(xiàn)多態(tài)。public string Namereturn name;setname=va1ue;getreturn address;setaddress= value;string birth;publicstring Birthgetreturn birth;setbirth= value;doublesalary; /底

40、薪pub1ic virtualdoub1e Sa1arygetpuring addb1ic stess;ring Addressreturn salary;setsa1ary= va1ue;double ticheng;/提成b1icvirtual double TichenggetConsole、WriteLine (”程序員得總工資就是0,Salary);c class Manager : EmpIoyee/主管高層,繼承雇員基類public Manager()Sa1ary=5000;pusetreturn ticheng;tichengValue;publicVirtual Voidpu

41、blic virtual voidSumSalary() /工資算法不同,所以定義虛函數(shù)工資計算方法Show() /工資輸出名稱不同,所以定義了可重寫得打印方法publicclassProgrammer:Employee /程序員,繼承雇員基類pubicProgrammer()Salary=2 000;Console、WriteLine(”請輸入程序員提成”);Ticheng=Convert、ToDouble(Console、ReadLine();pub1c overridevoidSumSalary()/重寫工資計算方法,下面幾個類同puSalary +=Ticheb1ic override

42、 voidng;Show() /重寫打印方法publConsole、WriteLine(”請輸入主管高層提成 ”);TiCheng=Convert、ToDouble(Console、ReadLine();ic override voidSumSalary()Salary+=Ticheng;pub1icoverridevoidShow()Console、WriteLine(主管高層總工資就是0 ,Salary);publicclassSec :Em ployeeZ/秘書,繼承雇員基類publicSec()publicC1eaner()Salary=1000;ub1icoverride void

43、Show()Console、WriteLine(清潔工總工資就是0,this、Salary);Programmer pro = new Programmer();/輸入提成等,進(jìn)行總工資輸出,PS:為了簡單就沒有輸出姓名等pro、SumSalary();pro、Show();Manager man = newManager();pubSalary=300 0;public overridevoidShow()Console、WriteLine(秘書總工資就是0,this、Salary);public class Cleaner:EmpIoyee/清潔工,繼承雇員基類class Textpubl

44、i cstatic void Main()man、SumSa1ary();man、Show();Secsec = newSec();sec Show();Cleaner c1e = new Cleaner();c1e、Show();2、實驗結(jié)果G:US20O5安裝安裝UOsy1UOsy1 -2-4-2-4請輸入程序員提成請輸入程序員提成102102程序員的總工資是程序員的總工資是2121 0202請輸入主管高層提成請輸入主管高層提成299299主管高層總工瓷是主管高層總工瓷是52995299秘書總秘書總 H H 資是資是300D300D清潔工總工資是清潔工總工資是200200G:US20O5安

45、裝安裝3、實驗總結(jié)使用 Virtual時下面實現(xiàn)多態(tài)要再次使用override才能重寫,這里做實驗時出了一些問題。另外在其她類中調(diào)用了基類得屬性,想到屬性也可以重寫,以后有空再拓展一下?!緦嶒?zāi)康谩苛私馐裁淳褪墙涌冢涌谂c抽象類得異同,掌握接口得方法實現(xiàn),接口方法得重定義 【實驗要求】寫出程序,并調(diào)試程序,要給出測試數(shù)據(jù)與實驗結(jié)果。 整理上機(jī)步驟,總結(jié)經(jīng)驗與體會.3、完成實驗日志與上交程序。 【實驗內(nèi)容】分析實現(xiàn)接口得程序文件分析以下實現(xiàn)接口得程序文件并回答問題:本程序中得接口包含方法得構(gòu)成就是哪些?PareTo( Iparable p)實現(xiàn)接口得類包含哪些元素?privateuint tot

46、a1Secon ds;publicTimeSpan()publicTimeSpan(uint initia1Seconds)pub1ic uint Secondspub1ic intpareTo(I parab1e p)類實現(xiàn)接口方法得參數(shù)如何變換實現(xiàn)得?pub1ic int pareTo(lparablep)實驗三接口編程1、2、TimeSpan p areTime =(TimeSpan)p;if (tota1Seconds p areTime、Seconds) return1;else if (pareTime、Seconds= totalSreturn 0;elsereturn 1;給出

47、程序得輸出結(jié)果p p: :US20O5US20O5安裝安裝UOsy3UOsy3I I spentspent moremore timetime thanthan thetheeconds)worldworld廠廠euoeuo廠廠d d holderholder實驗四委托編程【實驗?zāi)康谩?、了解委托得概念,掌握委托得使用;【實驗要求】理解委托應(yīng)用得程序;寫出委托應(yīng)用程序;調(diào)試程序,要給出測試數(shù)據(jù)與實驗結(jié)果。整理上機(jī)步驟,總結(jié)經(jīng)驗與體會。完成實驗日志與上交程序。2、3、4、5、【實驗內(nèi)容】委托及其方法得實現(xiàn)程序程序功能:定義一個含有兩個整型參數(shù)名叫Calcu1ation返回類型為 double 得

48、委托,分別實現(xiàn)兩個匹配得求與、求平均值得方法,并在主函數(shù)中測試它.1、源代碼uSing System;public de1egate double Calculation(doub1em,doublen);/定義一個委托類型分別實現(xiàn)兩個匹配得求與、求平均值得方法,并在主函數(shù)中測試它。c1ass TestP ublic double p1us(doublem,double n)double va1= m + n;return va1;publicdoub1e aver(double m, doub1en)double a =(m+ n) /2);classTesterpublicstatic v

49、oidMain()Testt =new TestCalculationcallCon sole、WriteLCalculationcal2 =newation(t、plus);+ call(5、0, 6、0); ion(t、aver);+ cal2(5、0, 6、0);2、實驗結(jié)果);= newCalculi ne(兩數(shù)之與為:CalculatCon sole、WriteLi ne(”兩數(shù)得平均值為:Console、ReadKey(true);【實驗?zāi)康谩?、 理解什么就是異常及異??赡墚a(chǎn)生得原因;2、 掌握異常拋出與捕獲語句;3、 理解專有catch塊得使用;【實驗要求】調(diào)試程序,要給出測試

50、數(shù)據(jù)與實驗結(jié)果整理上機(jī)步驟,總結(jié)經(jīng)驗與體會。完成實驗日志與上交程序。實驗內(nèi)容】實驗五異常處理編程異常處理設(shè)計類,實現(xiàn)異常處理。1)建立一個名字為Meteorologist得類,其中含有一個 12個int類型元素得數(shù)組rainfall,造函數(shù)給賦值;一個方法頭為public int GetRainfall(intindex),此方法返回rainfal中與給定得in dex對應(yīng)得值,在GetRa in fall添加處理任何從 GetRai需要得代碼。2)為讀取每月降雨從空中吸收并帶到地面得污染物,在類中添加數(shù)組在構(gòu)造方法中賦任意值;在類中編寫另一個方法,頭為:Public int Ge通過構(gòu) 1 元素 nfal1 方法中拋出得越界異常所pollution,也包含 12個元素,tAveragePollution(intindex),來計算給定月份單位降雨量中得污染物,例如,計算 4 月份單位降雨量所含污染物用以下計算來實現(xiàn):averagePollution=pollutin 3/rainfall3;在此方法中實現(xiàn)處理異常得代碼。注意,此方法既可以拋出索引越界異常,也可以拋出被0除異常。3)編寫測試代碼。1、源代碼using System;public c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論