ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:19.44KB ,
资源ID:3342113      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3342113.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二面向对象的程序设计复习进程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二面向对象的程序设计复习进程.docx

1、实验二 面向对象的程序设计复习进程实验二 面向对象的程序设计实验二 面向对象的程序设计(2课时)一、实验目的1) 熟悉类的定义和使用。2) 掌握创建对象的方法。3) 掌握只读字段的声明及使用。4) 学习定义和使用带参数构造函数。5) 熟悉访问权限控制符。6) 掌握属性的定义和使用。7) 掌握关键字this。8) 理解继承的概念,学会定义和使用派生类。9) 学会定义和使用接口。10) 掌握继承过程中的方法重写,区分它与方法隐藏、方法重载的不同。11) 掌握多态。12) 熟悉关键字base。二、实验要求1) 程序结构清晰、语句完整,包含有头文件和main函数;2) 格式正确,语句采用缩进格式;3)

2、 设计子函数实现题目要求的功能;4) 编译、连接通过,熟练使用命令键;5) 运行结果正确,输入输出有提示,格式美观。三、实验设备、材料和工具1) 奔腾2计算机或以上机型2) C#.NET2008四、实验内容和步骤实验内容: 1、创建一个描述图书信息的类并测试。类中应保存有图书的书号、标题、作者、出版社、价格等信息。步骤:1) 定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、price(价格)等私有字段。由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。2) 为Book类中的每个字段定义相应的属性,由于isbn

3、字段只读的,其相应属性也应该是只读的。3) 为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。4) 为Book类定义方法Show,Show方法用于显示图书的所有信息。5) 编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。2、根据几何图形的组合与继承关系定义用于描述点、直线、三角形、四边形、正方形、圆等几何图形的类(或结构)。要求首先定义一个几何图形接口描述所有几何图形的共有特性,上述几何图形都必须现

4、实该接口,并且其中用于描述点的类型最好定义为结构。步骤:1) 定义几何图形接口Shape。Shape接口中包含属性Color,用于读取和设置几何图形的颜色;包含方法Draw、Erase、Move,用于绘制、擦拭、移动几何图形。由于属性Color的类型无法用基本数据类型准确描述,程序中还需要另外定义一个表示颜色的枚举类型CColor(实验上,.NET框架类库中定义有一个Color结构,它可以更好地表示颜色,你们可以直接使用它)。2) 定义点结构Point实现Shape接口。Point结构中除实现Shape接口的所有成员外,还必须包含两个int型私有字段x、y及相应属性,它们用于表示点的坐标。另外

5、,还应为Point结构定义构造函数,并重写方法ToString。3) 定义直线类Line实现Shape接口。Line类中除实现Shape接口的所有成员外,还必须包含两个Point型私有字段point1、point2及相应属性,它们用于表示直线两个顶点的坐标。另外,还应为Line类定义构造函数,并重写方法ToString。4) 定义三角形类Triange实现Shape接口。Triangle类中除实现Shape接口的所有成员外,还必须包含三个Point型私有字段及相应属性,它们用于表示三角形三个顶点的坐标。另外,还应为triangle类定义方法Area(求面积)和构造函数,并重写方法ToStrin

6、g。5) 定义四边形类Quadrilateral实现Shape接口。Quadrilateral类中除实现Shape接口中的所有成员外,还必须包含四个Point型私有字段及相应属性,它们用于表示四边形四个顶点的坐标。另外,还应为Quadrilateral类定义方法Area(求面积)和构造函数,并重写方法ToString。由于程序后面还需要在Quadrilateral类的基础上派生出正方形类,因此,实现Shape接口时,应该将方法Draw、Erase、Move声明为虚拟的,另外,重写方法ToString时,不妨将它声明为密封的。6) 定义圆类Circle实现Shape接口。Circle类中除实现S

7、hape接口的所有成员外,还必须包含一个Point型私有字段、一个int型私有字段及相应属性,它们分别用于表示圆的圆心坐标及半径;另外,还应为Circle类定义Area(求面积)和构造函数,并重写方法ToString。7) 定义正方形类Square继承Quadrilateral类。Square类中应重写方法Draw、Erase、Move并定义构造函数。8) 定义Main方法测试上面定义的类。3、编写一个实现复数加法程序。写出实验步骤,并编写调试程序。五、实验报告要求1. 实验前需填写好实验的名称和实验目的;2. 根据实验内容初步设计好程序,并从理论上排除错误;3. 针对程序的健壮性准备好测试数

8、据;4. 结果分析中如实填写运行后的结果,并记录调试过程中产生的重要问题和解决方法。六、根据实验过程填写程序和实验结果实验1程序:class Book private readonly string isbn; /书号 private string title; /标题 private string author; /作者 private string press; /出版社 private int price; /价格 public Book(string isbn):this(isbn,未知,未知,未知,0) public Book(string isbn,string title,str

9、ing author,string press,int price) this.isbn=isbn; this.title=title; this.author=author; this.press=press; this.price=price; public string ISBN get return isbn; public string Title get return title; set title=value; public string Author get return author; set author=value; public string Press get re

10、turn press; set press=value; public int Price get return price; set price=value; public void Show() Console.WriteLine(书号: 0,isbn); Console.WriteLine(标题: 0,title); Console.WriteLine(作者: 0,author); Console.WriteLine(出版社:0,press); Console.WriteLine(价格: 0,price); class Test5_1 static void Main() Book bo

11、ok1=new Book(978-7-111-23423-4); book1.Show(); Console.WriteLine(); book1.Title=C#程序设计(C#2.0版); book1.Author=刘慧宁; book1.Press=机械工业出版社; book1.Price=32; book1.Show(); Console.WriteLine(); book1=new Book(978-7-302-15800-4,Java程序设计,温秀梅,清华大学出版社,29); book1.Show(); 结果:调试过程中产生的重要问题和解决方法: 实验2程序: /定义一个颜色的枚举en

12、um CColor BLACK,BLUE,BROWN,CYAN,GRAY,GREEN,ORANGE,PINK,RED,WHITE,YELLOW/定义一个几何图形接口interface Shape CColor Color get; set; /绘制的方法 void Draw(); /擦拭的方法 void Erase(); /移动的方法 void Move();/定义一个点的结构来实现Shape几何图形的接口struct Point:Shape private CColor color; private int x,y; public CColor Color get return color;

13、 set color=value; public int X get return x; set x=value; public int Y get 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(绘制一个点); public void Erase() Console.WriteLine(擦拭一个点); public void Move() Co

14、nsole.WriteLine(移动一个点); /重写ToString()方法 public override string ToString() return (+x+,+y+); /定义一个直线的类来实现Shape接口class Line:Shape private CColor color; /顶点 private Point point1,point2; public CColor Color get return color; set color=value; public Point Point1 get return point1; set point1=value; publi

15、c Point Point2 get return point2; set point2=value; public Line() public Line(Point p1,Point p2) point1=p1; point2=p2; public void Draw() Console.WriteLine(绘制一条直线); public void Erase() Console.WriteLine(擦拭一条直线); public void Move() Console.WriteLine(移动一条直线); /也重写一下ToString方法 public override string To

16、String() return (+point1.ToString()+,+point2.ToString()+); /定义一个三角形的类同时让它实现Shape接口class Triangle:Shape private CColor color; /定义三角形的三个顶点 private Point point1,point2,point3; public CColor Color get return color; set color=value; public Point Point1 get return point1; set point1=value; public Point Po

17、int2 get return point2; set point2=value; public Point Point3 get return point3; set point3=value; public Triangle() public Triangle(Point p1,Point p2,Point p3) point1=p1; point2=p2; point3=p3; public void Draw() Console.WriteLine(绘制一个三角形); public void Erase() Console.WriteLine(擦拭一个三角形); public void

18、 Move() Console.WriteLine(移动一个三角形); /增加一个三角形自己的求面积的方法 public double Area() double area=Math.Abs(point1.X*point2.Y+point2.X*point3.Y+point3.X*point1.Y -point1.X*point3.Y-point2.X*point1.Y-point3.X*point2.Y)/2.0; return area; /同样也重写一下ToString方法 public override string ToString() return (+point1.ToStrin

19、g()+,+point2.ToString()+,+point3.ToString()+); /定义一个四边形的类同样实现Shape接口class Quadrilateral:Shape private CColor color; /定义四边形的四个顶点 private Point point1,point2,point3,point4; public CColor Color get return color; set color=value; public Point Point1 get return point1; set point1=value; public Point Poin

20、t2 get return point2; set point2=value; public Point Point3 get return point3; set point3=value; public Point Point4 get return point4; set point4=value; public Quadrilateral() public Quadrilateral(Point p1,Point p2,Point p3,Point p4) point1=p1; point2=p2; point3=p3; point4=p4; public virtual void D

21、raw() Console.WriteLine(绘制一个四边形); public virtual void Erase() Console.WriteLine(擦拭一个四边形); public virtual void Move() Console.WriteLine(移动一个四边形); /定义一个四边形求面积的方法 public double Area() double area=Math.Abs(point1.X*point2.Y-point2.X*point1.Y+point2.X*point3.Y -point3.X+point2.Y+point3.X*point4.Y-point4.

22、X*point3.Y +point4.X*point1.Y-point1.X*point4.Y)/2.0; return area; /重写ToString方法 public sealed override string ToString() return (+point1.ToString()+,+point2.ToString()+,+point3.ToString()+,+point4.ToString()+); /定义一个圆的类同样让它实现Shape接口class Circle:Shape private CColor color; /定义一个圆心 private Point poin

23、t; /定义圆的半径 private int radius; public CColor Color get return color; set color=value; public Point Point get return point; set point=value; public int Radius get return radius; set radius=value; public Circle() public Circle(Point p,int r) point=p; radius=r; public void Draw() Console.WriteLine(绘制一个

24、圆); public void Erase() Console.WriteLine(擦拭一个圆); public void Move() Console.WriteLine(移动一个圆); /定义一个方法求的面积 public double Area() return Math.PI*radius*radius; /同样重写ToString让它格式化字符串 public override string ToString() return (+point.ToString()+,+radius+); /定义一个正方形的类,并且它让继承于四边形的类class Square:Quadrilatera

25、l public Square() public Square(Point p1,Point p2,Point p3,Point p4):base(p1,p2,p3,p4) public override void Draw() Console.WriteLine(绘制一个正方形); public override void Erase() Console.WriteLine(擦拭一个正方形); public override void Move() Console.WriteLine(移动一个正方形); /定义一个类放入Main()方法class Test6_1 static void Ma

26、in() Point p1=new Point(1,1); Point p2=new Point(1,2); Point p3=new Point(2,2); Point p4=new Point(2,1); Shape line=new Line(p1,p2); Shape triangle=new Triangle(p1,p2,p3); Shape circle=new Circle(p1,2); Shape square=new Square(p1,p2,p3,p4); Console.WriteLine(直线是0,line); line.Draw(); Console.WriteLin

27、e(三角形是0,triangle); triangle.Draw(); Console.WriteLine(三角形的面积是0,(Triangle)triangle).Area(); Console.WriteLine(圆是0,circle); circle.Draw(); Console.WriteLine(圆的面积是0,(Circle)circle).Area(); Console.WriteLine(正方形是0,square); square.Draw(); Console.WriteLine(正方形的面积是0,(Square)square).Area(); line.Move(); circle.Erase();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1