

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章面向?qū)ο缶幊袒A選擇題1語言的核心是面向?qū)ο缶幊蹋∣OP,所有OOP語言都至少具有3個特性:(A)A.封裝,繼承和多態(tài)B.類,對象和方法C封裝,繼承和派生D.封裝,繼承和接口2. C#的構(gòu)造函數(shù)分為實例構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),實例構(gòu)造函數(shù)可以對(C)進行初始化,靜態(tài)構(gòu)造函數(shù)只能對(A)進行初始化。A. 靜態(tài)成員B.非靜態(tài)成員B. 靜態(tài)成員或非靜態(tài)成員C靜態(tài)成員和非靜態(tài)成員#實現(xiàn)了完全意義上的面向?qū)ο螅运鼪]有(D),任何數(shù)據(jù)域和方法都必須封裝在類體中。A.全局變量B.全局常數(shù)C全局方法D.全局變量,全局常數(shù)和全局方法4. 方法中的值參數(shù)是(A)的參數(shù)。A.按值傳遞B.按引用傳遞C按地址
2、傳遞D.不傳遞任何值5. 下面對方法中的ref和out參數(shù)說明錯誤的是(C)和out參數(shù)傳遞方法相同,都是把實在參數(shù)的內(nèi)存地址傳遞給方法,實參與形參指向同一個內(nèi)存存儲區(qū)域,但ref要求實參必須在調(diào)用之前明確賦過值。是將實參傳入形參,out它只有用于從方法傳出值,而不能用從方法調(diào)用處接收實參數(shù)據(jù)。和out參數(shù)因為傳遞的是實參的地址,所以要求實參和形參的數(shù)據(jù)類型必須一致。和out參數(shù)要求實參和形參的數(shù)據(jù)類型或者一致,或者實參能被隱式的轉(zhuǎn)化為為形參的類型。6. 假設classMclasS類的一個方法的簽名為:publicvoidMax,(outintmax,paramsinta),m1是Mclass
3、類的一個對象,maaxval是一個int型的值類型變量,arrayA是一個int型的數(shù)組對象,則下列調(diào)用該方法有錯的是()。B.(outmaxval,4,5,3,);(outmaxval,3,);B只包含get訪問器的屬性是只寫D.在靜態(tài)屬性訪問器中可訪問靜態(tài)(outmaxval);(outmaxval,refarrayA);7. 以下有關屬性的敘述正確的是()A.要求與字段域一一對應屬性C不能把它當變量使用數(shù)據(jù)二填空題1. 構(gòu)析函數(shù)不能由程序顯示地調(diào)用,而是由系統(tǒng)在(釋放對象)時自動調(diào)用。如果這個對象是一個派生類對象,那么在調(diào)用構(gòu)析函數(shù)時,除了執(zhí)行派生類的構(gòu)析函數(shù),也會執(zhí)行基類的構(gòu)析函數(shù),其
4、執(zhí)行順序與構(gòu)析函數(shù)(正好相反)。#實現(xiàn)了完全意義上的面向?qū)ο?,所以它沒有(全局變量、全局函數(shù)和全局方法),任何數(shù)據(jù)域,方法都必須封裝在類中。3. 在類中如果一個數(shù)據(jù)成員被聲明為static的,則說明這個類的所有實例都共享這個static數(shù)據(jù)成員。在類體外,static成員不能通過(繼承)來訪問,它必須通過(靜態(tài)方法(構(gòu)造函數(shù))方法)來訪問。4. 程序運行結(jié)果()usingSystem;publicclassTestPublicvoidchangel(strings)s=s+Ch“angel”;publicvoidchange2(refstrings)s=s+“Change2”;publicvo
5、idchange3(strings1,outstrings2)s1=s1+“Change3”;s2=s1;publicclassExe8publicstaticvoidMain()strings1,s2;s1=“Hello,”;Testt1=newTest();(s1);(“s1aftercalltochange1is0”,s1);(refs1);(“s1aftercalltochange2is0”,s1);(s1,outs2);(“s1aftercalltochange3is0”,s1);(“s2aftercalltochange3is0”,s2);();5. 程序運行結(jié)果是:(s1afte
6、rcalltochange1isHelloS1aftercalltochange2isS1aftercalltochange3isS2aftercalltochange3is)usingSystem;publicclassTestpublicvoidchange(strings)s=s+“Change1”;publicvoidchange(refstrings)s=s+“Change2”;publicvoidchange(strings1,outstrings2)s1=s1+“Change3”;s2=s1;publicclassExe9publicstaticvoidMain()strings
7、1,s2;s1=“Hello,”;Testt1=newTest();(s1);(“s1is0”,s1);(refs1);(“s1is“0”,s1);(s1,outs2);(“s1is0,s2is1”,s1,s2);();三編程題1.定義描述復數(shù)的類,并實現(xiàn)復數(shù)的輸入和輸出。設計三個方法分別完成復數(shù)的加法,減法和乘法運算。解:UsingSystem;UsingSystemCollectionsGeneric;UsingSystemText;Namespacestaticvoidmain(stringargs)complexa=newcomplex(2,5);complexb=newcomplex
8、(4,6);complexc=a+b;();complexd=a-b;();complexm=a+b;();();ClasscomplexDoubler,v;Publiccomplex(doubler,doublev)thisr=r;thisv=v;PubliccomplexPublicstaticcomplexoperator+(complexa,complexb)returnnewcomplex(ar+br,a-r+bv);Publicstaticcomplexoperator-(complexa,complexb)doubley,k;y=a-r*av-av*bv;K=ar+bv+av*b
9、r;Returnnewcomplex(y,k);Publicvoidprint()(r+“+”+v+“i/n”);2. 定義全班學生成績類,包括:姓名,學號,C+成績,英語成績,數(shù)學成績和平均成績。設計4個方法:(1)全班成績的輸入;(2) 求出每一個同學的平均成績;(3) 按平均成績的升序排序;(4) 輸出全班成績。usingSystem;using;usingvoidMain(stringargs)#regionStudentTextAllStudentall=newAllStudent(3);();();();();(冒泡排序)排序后成績?nèi)缦?);();#endregion#region
10、Student類publicclassStudents#region構(gòu)造函數(shù)publicStudents()maths)publicStudents(stringname,stringnumber,floatCres,floatElys,float_name=name;_number=number;_Cres=Cres;_ely=Elys;_math=maths;_avg=(Cres+Elys+maths)/3;#endregion#region字段privatestring_name;publicstringNamegetreturn_name;set_name=value;privates
11、tring_number;publicstringNumbergetreturn_number;set_number=value;privatefloat_Cres;publicfloatCresgetreturn_Cres;set_Cres=value;privatefloat_ely;publicfloatElygetreturn_ely;set_ely=value;privatefloat_math;publicfloatMathgetreturn_math;set_math=value;privatefloat_avg;publicfloatAvggetreturn_avg;set_a
12、vg=value;#endregion#endregion#region全體學生類publicclassAllStudent#region構(gòu)造函數(shù)publicAllStudent(intcout)_cout=cout;_stuList=newList();#endregion#region字段和屬性privateint_cout;publicintCoutgetreturn_cout;set_cout=value;privateList_stuList;publicListStuListgetreturn_stuList;set_stuList=value;#endregion#region學
13、生成績錄入方法publicvoidAddAllreslut()for(inti=0;i100)(請輸入正確的成績:);strs2=();(請輸入學生英語成績:);strs3=();if(!Isfloat(strs3)(請輸入正確的成績:);strs3=();elseif(strs3)100)(請輸入正確的成績:);strs3=();(請輸入學生數(shù)學成績:);strs4=();if(!Isfloat(strs4)(請輸入正確的成績:);strs4=();elseif(strs4)100)(請輸入正確的成績:);strs4=();Studentsstudent=newStudents(strs0,
14、strs1,(strs2),(strs3),(strs4);(strs0+同學的平均成績?yōu)?+;();(student);#endregion#region按學號查詢平均成績publicvoidRtAvg()(請輸入要查詢平均成績學生的學號:);stringnumber=();floatavg=RtAvg(number);if(avg!=0)(number+的平均成績?yōu)?+avg);();else(沒有該學號學生成績!);();publicfloatRtAvg(stringnumber)for(inti=0;i;i+)if(_stuListi.()=()return_stuListi.Avg;
15、return0;#endregion#region按平均分排序方法publicvoidsorting()Listlist=newList();for(inti=0;i;i+)Studentsstus=newStudents();for(intj=0;j_stuListj+1.Avg)stus=_stuListj;_stuListj=_stuListj+1;_stuListj+1=stus;elsestus=_stuListj+1;if(i=-1)stus=_stuList0;(stus);_stuList=list;#endregion#region輸出所有學生成績publicvoidprin
16、tStu()(一下是所有學生信息:);for(inti=0;i;i+)(_stuListi.Name+同學的基本信息:);(學號:+_stuListi.Number+C+成績?yōu)椋篲stuListi.Cres+英語成績?yōu)?+_stuListi.Ely+數(shù)學成績?yōu)?_stuListi.Math+平均成績?yōu)?+_stuListi.Avg);();();#endregion#region驗證浮點數(shù)方法publicstaticboolIsfloat(stringInput)if(Input=null)returnfalse;elsestringpattern=A(d*.)d+$;if(Input,pat
17、tern,.Success)returntrue;elsereturnfalse;#endregion#endregion3. 定義一個描述學生基本情況的類,數(shù)據(jù)成員包括姓名,學號,C+,英語和數(shù)學成績;成員函數(shù)包括輸出數(shù)據(jù),姓名和學號,3門課的成績,求出總成績和平均成績。classstudentpublicstringname;publicintnum;publicfloatc,e,m,ave;publicstudent()(請輸入name:);name=();(請輸入num:);num=();(請輸入C+成績:);c=();(請輸入English成績:);e=();(請輸入Math成績:)
18、;m=();publicvoidprint()(name=0,num=1,C+成績=2,English成績=3,Math成績=4,name,num,c,e,m);publicvoidgetSumAve(boolprint)floatsum=c+e+m;ave=sum/3;if(print)(總成績=0,平均成績=1,sum,ave);classtheclassstudentstudents;intcount;publictheclass()(學生數(shù):);count=();students=newstudentcount;for(inti=0;i;i+)if(i=count)break;stud
19、entsi=newstudent();studentsi.getSumAve(false);publicvoidpaixu()studentt;for(inti=0;i;i+)for(intj=0;jstudentsi+1.ave)t=studentsi;studentsi=studentsi+1;studentsi+1=t;publicvoidshuchu()for(inti=0;i;i+)(姓名:0,學號:1,c語言:2,數(shù)學:3,英語:4,,studentsi.num,studentsi.c,studentsi.m,studentsi.e);classprog
20、ramstaticvoidMain(stringargs)theclassm=newtheclass();();();();4. 設有一個描述坐標點的CPoint類,其私有變量x和y代表一個點的x,y坐標值。編寫程序?qū)崿F(xiàn)以下功能:利用構(gòu)造函數(shù)傳遞參數(shù),并設其默認參數(shù)值為60和75,利用成員函數(shù)display()輸出這一默認的值;利用公有成員函數(shù)setpoint()將坐標值的修改為(80,150),并利用成員函數(shù)輸出修改后的坐標值。usingSystem;usingclassMyClasspublicstaticvoidMain()CPointcp=newCPoint();();(80,150)
21、;();();publicclassCPointprivateintx;privateinty;publicCPoint():this(60,75)publicCPoint(intx,inty)=x;=y;publicvoidDisplay()(x=0,y=1,x,y);publicvoidSetPoint(intx,inty)=x;=y;5. 定義一個人員類CPerson包括數(shù)據(jù)成員:姓名,編號,性別和用于輸入輸出的成員函數(shù)。在此基礎上派生出學生類CStuden(t增加成績)和教師類CTeacher(增加教齡),并實現(xiàn)對學生和教師信息的輸入輸出。classCPersonstringname;
22、intnum;stringsex;publicvoidinput()(姓名:);=();(編號:);=();(性別:);=();publicvoidprint()(姓名:+name);(編號:+num);(性別:+sex);classCStudent:CPersonfloatscore;publicvoidinput1()(這是學生類);();(成績:);=();publicvoidprint1()();(成績:+score);classCTeacher:CPersonpublicintage;publicvoidinput2()(這是教師類);();(教齡:);=();publicvoidprint2()();(教齡:+age);classProgramstaticvoidMain(stringargs)CStudentstu=newCStudent();CTeacherteac=newCTeacher();();();();();();6. 把定義平面直角坐標系上的一個點的類CPoint作為基類,派生出描述一條直線的類Cline,再派生出一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品房預售抵押合同
- 筒倉鋼管樓梯施工方案
- 變壓器采購合同采購合同
- 商鋪物業(yè)服務合同
- 酒店裝修改造施工方案
- 外墻面鋁鋼板加固施工方案
- 2025屆甘肅省蘭州市部分學校高三一模地理試題(原卷版+解析版)
- 連云港燃氣管道施工方案
- 計劃生育手術器械項目風險識別與評估綜合報告
- 2025年人力資源制度:04 -藝人簽約合同書
- 2025年陜西國防工業(yè)職業(yè)技術學院單招綜合素質(zhì)考試題庫學生專用
- 2025年浙江寧波市奉化區(qū)農(nóng)商控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025年中考百日誓師大會校長發(fā)言稿:激揚青春志 決勝中考時
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 上海浦東新區(qū)2024-2025高三上學期期末教學質(zhì)量檢測(一模)物理試卷(解析版)
- 人教版高中物理選擇性必修第二冊電磁波的發(fā)射與接收課件
- 2025河南中煙工業(yè)限責任公司一線崗位招聘128人易考易錯模擬試題(共500題)試卷后附參考答案
- 《建筑冷熱源》全冊配套最完整課件1
- 廣州2025年廣東廣州市番禺區(qū)小谷圍街道辦事處下屬事業(yè)單位招聘5人筆試歷年參考題庫附帶答案詳解
- 2025年春新人教版生物七年級下冊全冊教學課件
評論
0/150
提交評論