


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)二 面向?qū)ο蟮某绦蛟O(shè)計(jì)(2 課時(shí))一、實(shí)驗(yàn)?zāi)康? )熟悉類的定義和使用。2)掌握創(chuàng)建對(duì)象的方法。3 )掌握只讀字段的聲明及使用。4 )學(xué)習(xí)定義和使用帶參數(shù)構(gòu)造函數(shù)。5) 熟悉訪問權(quán)限控制符。6 )掌握屬性的定義和使用。7) 掌握關(guān)鍵字 this 。8 )理解繼承的概念,學(xué)會(huì)定義和使用派生類。9 )學(xué)會(huì)定義和使用接口。10) 掌握繼承過程中的方法重寫,區(qū)分它與方法隱藏、方法重載的不同。11 ) 掌握多態(tài)。12 ) 熟悉關(guān)鍵字 base 。二、實(shí)驗(yàn)要求1)程序結(jié)構(gòu)清晰、語句完整,包含有頭文件和main 函數(shù);2)格式正確,語句采用縮進(jìn)格式;3 )設(shè)計(jì)子函數(shù)實(shí)現(xiàn)題目要求的功能;4) 編譯、連接通
2、過,熟練使用命令鍵;5 )運(yùn)行結(jié)果正確,輸入輸出有提示,格式美觀。三、實(shí)驗(yàn)設(shè)備、材料和工具1) 奔騰 2 計(jì)算機(jī)或以上機(jī)型2) C#.NET2008四、實(shí)驗(yàn)容和步驟實(shí)驗(yàn)容:1 、創(chuàng)建一個(gè)描述圖書信息的類并測試。類中應(yīng)保存有圖書的書號(hào)、標(biāo)題、作者、價(jià)格等信息。步驟:1) 定義圖書類 Book ,Book 類中包含 isbn( 書號(hào) )、 title (標(biāo)題)、 author( 作者 )、 press ()、 price (價(jià)格)等私有字段。由于對(duì)一本書來說,書號(hào)是唯一的,因此, isbn 字段應(yīng)聲明為 只讀的。2) 為 Book 類中的每個(gè)字段定義相應(yīng)的屬性,由于isbn 字段只讀的,其相應(yīng)屬性
3、也應(yīng)該是只讀的。3)為 Book 類定義兩個(gè)構(gòu)造函數(shù),其中,一個(gè)構(gòu)造函數(shù)將所有字段都初始化為用戶指定的值, 另一個(gè)構(gòu)造函數(shù)只要求用戶指定有關(guān)書號(hào)的信息,它將調(diào)用上一個(gè)構(gòu)造函數(shù)初始化對(duì)象,初 始化時(shí),價(jià)格取 0, 除書號(hào)的其他信息取“未知” 。4)為 Book 類定義方法 Show ,Show 方法用于顯示圖書的所有信息。5)編寫 Main 方法測試 Book 類, Main 方法中分別使用上述兩個(gè)構(gòu)造函數(shù)創(chuàng)建 Book 對(duì)象。2 、根據(jù)幾何圖形的組合與繼承關(guān)系定義用于描述點(diǎn)、直線、三角形、四邊形、正方形、圓等幾何圖 形的類(或結(jié)構(gòu)) 。要求首先定義一個(gè)幾何圖形接口描述所有幾何圖形的共有特性,上
4、述幾何圖形都 必須現(xiàn)實(shí)該接口,并且其中用于描述點(diǎn)的類型最好定義為結(jié)構(gòu)。步驟:1 )定義幾何圖形接口 Shape 。Shape接口中包含屬性 Color,用于讀取和設(shè)置幾何圖形的顏色; 包含方法 Draw 、Erase 、Move ,用于繪制、擦拭、移動(dòng)幾何圖形。由于屬性Color 的類型無法用基本數(shù)據(jù)類型準(zhǔn)確描述,程序中還需要另外定義一個(gè)表示顏色的枚舉類型CColor (實(shí)驗(yàn)上, .NET 框架類庫中定義有一個(gè) Color 結(jié)構(gòu),它可以更好地表示顏色, 你們可以直接使用它) 。2)定義點(diǎn)結(jié)構(gòu) Point 實(shí)現(xiàn) Shape 接口。 Point 結(jié)構(gòu)中除實(shí)現(xiàn) Shape 接口的所有成員外,還必須
5、包含兩個(gè) int 型私有字段 x、 y 及相應(yīng)屬性,它們用于表示點(diǎn)的坐標(biāo)。另外,還應(yīng)為 Point 結(jié) 構(gòu)定義構(gòu)造函數(shù),并重寫方法 ToString 。3)定義直線類 Line 實(shí)現(xiàn) Shape 接口。 Line 類中除實(shí)現(xiàn) Shape 接口的所有成員外,還必須包含 兩個(gè) Point 型私有字段 point1 、 p oint2 及相應(yīng)屬性,它們用于表示直線兩個(gè)頂點(diǎn)的坐標(biāo)。另 外,還應(yīng)為 Line 類定義構(gòu)造函數(shù),并重寫方法 ToString 。4)定義三角形類 Triange 實(shí)現(xiàn) Shape 接口。 Triangle 類中除實(shí)現(xiàn) Shape 接口的所有成員外, 還必須包含三個(gè) Point
6、型私有字段及相應(yīng)屬性,它們用于表示三角形三個(gè)頂點(diǎn)的坐標(biāo)。另外, 還應(yīng)為 triangle 類定義方法 Area (求面積)和構(gòu)造函數(shù),并重寫方法 ToString 。5)定義四邊形類 Quadrilateral 實(shí)現(xiàn) Shape 接口。 Quadrilateral 類中除實(shí)現(xiàn) Shape 接口中的 所有成員外,還必須包含四個(gè) Point 型私有字段及相應(yīng)屬性,它們用于表示四邊形四個(gè)頂點(diǎn)的 坐標(biāo)。另外,還應(yīng)為 Quadrilateral 類定義方法 Area (求面積)和構(gòu)造函數(shù),并重寫方法 ToString 。由于程序后面還需要在 Quadrilateral 類的基礎(chǔ)上派生出正方形類,因此,實(shí)
7、現(xiàn) Shape 接口時(shí),應(yīng)該將方法 Draw 、Erase 、Move 聲明為虛擬的,另外,重寫方法 ToString 時(shí),不妨將它聲明為密封的。6)定義圓類 Circle 實(shí)現(xiàn) Shape 接口。 Circle 類中除實(shí)現(xiàn) Shape 接口的所有成員外,還必須包 含一個(gè) Point 型私有字段、一個(gè) int 型私有字段及相應(yīng)屬性,它們分別用于表示圓的圓心坐標(biāo) 及半徑;另外,還應(yīng)為 Circle 類定義 Area (求面積)和構(gòu)造函數(shù),并重寫方法 ToString 。7)定義正方形類 Square 繼承 Quadrilateral 類。 Square 類中應(yīng)重寫方法 Draw 、Erase 、
8、Move 并定義構(gòu)造函數(shù)。8)定義 Main 方法測試上面定義的類。3 、編寫一個(gè)實(shí)現(xiàn)復(fù)數(shù)加法程序。寫出實(shí)驗(yàn)步驟,并編寫調(diào)試程序。五、實(shí)驗(yàn)報(bào)告要求1. 實(shí)驗(yàn)前需填寫好實(shí)驗(yàn)的名稱和實(shí)驗(yàn)?zāi)康模?. 根據(jù)實(shí)驗(yàn)容初步設(shè)計(jì)好程序,并從理論上排除錯(cuò)誤;3. 針對(duì)程序的健壯性準(zhǔn)備好測試數(shù)據(jù);4. 結(jié)果分析中如實(shí)填寫運(yùn)行后的結(jié)果,并記錄調(diào)試過程中產(chǎn)生的重要問題和解決方法。六、根據(jù)實(shí)驗(yàn)過程填寫程序和實(shí)驗(yàn)結(jié)果實(shí)驗(yàn) 1 程序: class Bookprivate readonly string isbn;/ 書號(hào)private string title;/ 標(biāo)題private string author;/ 作者p
9、rivate string press; /private int price;/ 價(jià)格未知 "," 未知","未知",0)public Book(string isbn):this(isbn," public Book(string isbn,string title,string author,string press,int price)this.isbn=isbn;this.title=title;this.author=author;this.press=press;this.price=price;public strin
10、g ISBNgetreturn isbn;public string Titlegetreturn title;settitle=value;public string Authorgetreturn author;setauthor=value;public string Pressgetreturn press;setpress=value;public int Pricegetreturn price;set price=value;public void Show()Console.WriteLine(" 書號(hào) : 0",isbn);Console.WriteLin
11、e(" 標(biāo)題 : 0",title);Console.WriteLine(" 作者: 0",author);Console.WriteLine(":0",press);Console.WriteLine(" 價(jià)格 : 0",price);class Test5_1static void Main()Book book1=new Book("978-7-111-23423-4");book1.Show();Console.WriteLine();book1.Title="C# 程序設(shè)計(jì)
12、(C#2.0 版 )"book1.Author=" 慧寧 "book1.Press=" 機(jī)械工業(yè) "book1.Price=32;book1.Show();Console.WriteLine();book1=new Book("978-7-302-15800-4","Java 程序設(shè)計(jì) ","溫秀梅 "," 清華大學(xué) ",29);book1.Show();結(jié)果: 調(diào)試過程中產(chǎn)生的重要問題和解決方法: 實(shí)驗(yàn) 2 程序:/ 定義一個(gè)顏色的枚舉enum CColor BL
13、ACK,BLUE,BROWN,CYAN,GRAY,GREEN,ORANGE,PINK,RED,WHITE,YELLOW/ 定義一個(gè)幾何圖形接口interface ShapeCColor Colorget;set;/ 繪制的方法void Draw();/ 擦拭的方法void Erase();/ 移動(dòng)的方法void Move();/ 定義一個(gè)點(diǎn)的結(jié)構(gòu)來實(shí)現(xiàn) Shape 幾何圖形的接口 struct Point:Shapeprivate CColor color; private int x,y;public CColor Colorget return color;setcolor=value;p
14、ublic int Xget return x;set x=value;public int Yget return y;set y=value;/*public Point()*/public Point(int x,int y) this.x=x; this.y=y;this.color=CColor.RED; public void Draw()Console.WriteLine(" 繪制一個(gè)點(diǎn) "); public void Erase()Console.WriteLine(" 擦拭一個(gè)點(diǎn) "); public void Move()Consol
15、e.WriteLine(" 移動(dòng)一個(gè)點(diǎn) "); / 重寫 ToString() 方法 public override string ToString()return "("+x+","+y+")"/ 定義一個(gè)直線的類來實(shí)現(xiàn) Shape 接口 class Line:Shapeprivate CColor color;/ 頂點(diǎn)private Point point1,point2;public CColor Color getreturn color; setcolor=value; public Point Poin
16、t1 getreturn point1; setpoint1=value;public Point Point2 get return point2;setpoint2=value;public Line()public Line(Point p1,Point p2) point1=p1;point2=p2;繪制一條直線 ");擦拭一條直線 ");移動(dòng)一條直線 ");public void Draw()Console.WriteLine(" public void Erase()Console.WriteLine(" public void M
17、ove()Console.WriteLine("/ 也重寫一下 ToString 方法 public override string ToString()return "("+point1.ToString()+","+point2.ToString()+")" / 定義一個(gè)三角形的類同時(shí)讓它實(shí)現(xiàn) Shape 接口 class Triangle:Shapeprivate CColor color;/ 定義三角形的三個(gè)頂點(diǎn)private Point point1,point2,point3;public CColor Colo
18、r getreturn color;set color=value;public Point Point1getreturn point1;setpoint1=value;public Point Point2getreturn point2;setpoint2=value;public Point Point3getreturn point3;setpoint3=value;public Triangle()public Triangle(Point p1,Point p2,Point p3) point1=p1; point2=p2; point3=p3;public void Draw(
19、)Console.WriteLine(" 繪制一個(gè)三角形 ");public void Erase()Console.WriteLine(" 擦拭一個(gè)三角形 ");public void Move()Console.WriteLine(" 移動(dòng)一個(gè)三角形 ");/ 增加一個(gè)三角形自己的求面積的方法public double Area()return area;/ 同樣也重寫一下 ToString 方法public override string ToString()return "("+point1.ToStrin
20、g()+","+point2.ToString()+","+point3.ToString()+")"/ 定義一個(gè)四邊形的類同樣實(shí)現(xiàn) Shape 接口class Quadrilateral:Shapeprivate CColor color;/ 定義四邊形的四個(gè)頂點(diǎn)private Point point1,point2,point3,point4;public CColor Colorgetreturn color;setcolor=value;public Point Point1getreturn point1;setpoint1
21、=value;public Point Point2getreturn point2;setpoint2=value;public Point Point3 getreturn point3; setpoint3=value; public Point Point4 getreturn point4; setpoint4=value; public Quadrilateral() public Quadrilateral(Point p1,Point p2,Point p3,Point p4)point1=p1;point2=p2;point3=p3;point4=p4;public virt
22、ual void Draw()繪制一個(gè)四邊形 ");擦拭一個(gè)四邊形 ");移動(dòng)一個(gè)四邊形 ");Console.WriteLine("public virtual void Erase()Console.WriteLine("public virtual void Move()Console.WriteLine("/ 定義一個(gè)四邊形求面積的方法public double Area()return area;/ 重寫 ToString 方法public sealed override string ToString() return&q
23、uot;("+point1.ToString()+","+point2.ToString()+","+point3.ToString()+","+point4.ToString()+")"J/ 定義一個(gè)圓的類同樣讓它實(shí)現(xiàn) Shape 接口class Circle:Shapeprivate CColor color;/ 定義一個(gè)圓心private Point point;/ 定義圓的半徑private int radius;public CColor Colorgetreturn color;set col
24、or=value;public Point Pointgetreturn point;set point=value;public int Radiusgetreturn radius;set radius=value;public Circle()public Circle(Point p,int r) point=p;radius=r;public void Draw()Console.WriteLine(" public void Erase()Console.WriteLine(" public void Move()Console.WriteLine("
25、 / 定義一個(gè)方法求的面積繪制一個(gè)圓 ");擦拭一個(gè)圓 ");移動(dòng)一個(gè)圓 ");public double Area()return Math.PI*radius*radius;/ 同樣重寫 ToString 讓它格式化字符串 public override string ToString() return "("+point.ToString()+","+radius+")"/ 定義一個(gè)正方形的類,并且它讓繼承于四邊形的類 class Square:Quadrilateralpublic Square()public Square(Point p1,Point p2,Point p3,Point p4):base(p1,p2,p3,p4)public override void Draw()Console.WriteLine(" 繪制一個(gè)正方形 "); public override void Erase()Console.WriteLine(" 擦拭一個(gè)正方形 "); public overr
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 原創(chuàng)課題申報(bào)書
- 課題申報(bào)計(jì)劃書字?jǐn)?shù)要求
- 初中數(shù)學(xué)課題申報(bào)書范文
- 合同范本有水泥黃沙
- 危房改造安裝合同范本
- 合同范例食品代加工
- 午餐肉供應(yīng)合同范例
- 單晶碎料采購合同范本
- 冷庫設(shè)計(jì)合同范本
- 2024數(shù)據(jù)中心OceanStor Dorado存儲(chǔ)陣列測試方案
- 幼兒園課件《神奇的帽子》
- (小升初真題)六年級(jí)數(shù)學(xué)簡便計(jì)算(易錯(cuò)題、難題)一【含答案】
- 三菱變頻器d700使用手冊(cè)應(yīng)用篇
- 學(xué)校安全隱患網(wǎng)格化管理平臺(tái)系統(tǒng)操作手冊(cè)
- 表面粗糙度等級(jí)對(duì)照表模板.doc
- GMP講課教案簡述
- 新冀人版小學(xué)科學(xué)三年級(jí)下冊(cè)全冊(cè)教案(2022年春修訂)
- 東莞虎門架空線路拆除施工方案
- 尿液結(jié)晶教學(xué)課件
- 繪本《你很特別》
- 茶葉揉捻機(jī)總體設(shè)計(jì)方案的擬定
評(píng)論
0/150
提交評(píng)論