实验二 面向对象的程序设计

2019-09-01 13:16

班级: 08计科软件1-2班 学号: 姓名:

实验二 面向对象的程序设计

(2课时)

一、实验目的

1) 熟悉类的定义和使用。 2) 掌握创建对象的方法。

3) 掌握只读字段的声明及使用。 4) 学习定义和使用带参数构造函数。 5) 熟悉访问权限控制符。 6) 掌握属性的定义和使用。 7) 掌握关键字this。

8) 理解继承的概念,学会定义和使用派生类。 9) 学会定义和使用接口。

10) 掌握继承过程中的方法重写,区分它与方法隐藏、方法重载的不同。 11) 掌握多态。

12) 熟悉关键字base。 二、实验要求

1) 程序结构清晰、语句完整,包含有头文件和main函数; 2) 格式正确,语句采用缩进格式; 3) 设计子函数实现题目要求的功能; 4) 编译、连接通过,熟练使用命令键;

5) 运行结果正确,输入输出有提示,格式美观。 三、实验设备、材料和工具

1) 奔腾2计算机或以上机型

2) C#.NET2008 四、实验内容和步骤

实验内容:

1、创建一个描述图书信息的类并测试。类中应保存有图书的书号、标题、作者、出版社、价格等信息。

步骤:

1) 定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、

price(价格)等私有字段。由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。

2) 为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应该是只读

的。

3) 为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,

另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。

4) 为Book类定义方法Show,Show方法用于显示图书的所有信息。

5) 编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。 2、根据几何图形的组合与继承关系定义用于描述点、直线、三角形、四边形、正方形、圆等几何图形的类(或结构)。要求首先定义一个几何图形接口描述所有几何图形的共有特性,上述几何图形都必须现实该接口,并且其中用于描述点的类型最好定义为结构。

班级: 08计科软件1-2班 学号: 姓名:

步骤:

1) 定义几何图形接口Shape。Shape接口中包含属性Color,用于读取和设置几何图形的颜色;包

含方法Draw、Erase、Move,用于绘制、擦拭、移动几何图形。由于属性Color的类型无法用基本数据类型准确描述,程序中还需要另外定义一个表示颜色的枚举类型CColor(实验上,.NET框架类库中定义有一个Color结构,它可以更好地表示颜色,你们可以直接使用它)。

2) 定义点结构Point实现Shape接口。Point结构中除实现Shape接口的所有成员外,还必须包含

两个int型私有字段x、y及相应属性,它们用于表示点的坐标。另外,还应为Point结构定义构造函数,并重写方法ToString。

3) 定义直线类Line实现Shape接口。Line类中除实现Shape接口的所有成员外,还必须包含两个

Point型私有字段point1、point2及相应属性,它们用于表示直线两个顶点的坐标。另外,还应为Line类定义构造函数,并重写方法ToString。

4) 定义三角形类Triange实现Shape接口。Triangle类中除实现Shape接口的所有成员外,还必须

包含三个Point型私有字段及相应属性,它们用于表示三角形三个顶点的坐标。另外,还应为triangle类定义方法Area(求面积)和构造函数,并重写方法ToString。 5) 定义四边形类Quadrilateral实现Shape接口。Quadrilateral类中除实现Shape接口中的所有成员

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

6) 定义圆类Circle实现Shape接口。Circle类中除实现Shape接口的所有成员外,还必须包含一

个Point型私有字段、一个int型私有字段及相应属性,它们分别用于表示圆的圆心坐标及半径;另外,还应为Circle类定义Area(求面积)和构造函数,并重写方法ToString。

7) 定义正方形类Square继承Quadrilateral类。Square类中应重写方法Draw、Erase、Move并定义

构造函数。

8) 定义Main方法测试上面定义的类。 3、编写一个实现复数加法程序。 写出实验步骤,并编写调试程序。 五、实验报告要求

1. 实验前需填写好实验的名称和实验目的;

2. 根据实验内容初步设计好程序,并从理论上排除错误; 3. 针对程序的健壮性准备好测试数据;

4. 结果分析中如实填写运行后的结果,并记录调试过程中产生的重要问题和解决方法。

六、根据实验过程填写程序和实验结果 实验1程序:class Book{ private readonly string isbn; //书号 private string title; //标题 private string author; //作者 private string press; //出版社 private int price; //价格

班级: 08计科软件1-2班 学号: 姓名:

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 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{ return press; } set{ press=value; } }

public int Price{

班级: 08计科软件1-2班 学号: 姓名:

get{ return price; } set{ price=value; } } public void Show(){ Console.WriteLine(\书号: {0}\ Console.WriteLine(\标题: {0}\ Console.WriteLine(\作者: {0}\ Console.WriteLine(\出版社:{0}\ Console.WriteLine(\价格: {0}\ } }

class Test5_1{ static void Main(){ Book book1=new Book(\ book1.Show(); Console.WriteLine(); book1.Title=\程序设计(C#2.0版)\ book1.Author=\刘慧宁\ book1.Press=\机械工业出版社\ book1.Price=32; book1.Show(); Console.WriteLine(); book1=new Book(\程序设计\温秀梅\清华大学出版社\ book1.Show(); } }

结果:

调试过程中产生的重要问题和解决方法:

实验2程序:

//定义一个颜色的枚举 enum CColor{ BLACK,BLUE,BROWN,CYAN,GRAY,GREEN,ORANGE,PINK,RED,WHITE,YELLOW }

班级: 08计科软件1-2班 学号: 姓名:

//定义一个几何图形接口 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; } set{ color=value; } } public int X{ get{ return x; } set{ x=value; } } public int Y{ get{ return y; } set{ y=value; } } /*


实验二 面向对象的程序设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化工原理练习题-干燥

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: