公文高手,超级方便的公文写作神器! 立即了解


类和对象

6.1实验目的和要求

1.熟悉面向对象的基本概念

2.进一步掌握类的各种成员的使用方法

3.掌握对象之间通信的基本方法

6.2实验内容与步骤

题目1点和直线类

(1)创建c#控制台应用程序l6_1。

(2)在程序中新建一个点类czpoint,为其定义两个double类型的私有字段成员x和y,分别表示点的横坐标和纵坐标。

(3)为czpoint定义两个公有属性x、y,分别用于封装对字段x和y的读写访问。

(4)定义czpoint的带参构造函数,在其中对字段x和y进行初始化。参考源代码如下:

publicczpoint(doublex,doubley)

{

this.x=x;this.y=y;

}

(5)为czpoint定义公有方法move,用于按指定的水平距离和垂直距离移动坐标点。参考源代码如下:

publicvoidmove(doubledx,doubledy)

{x+=dx;y+=dy;

}

(6)对czpoint类进行相等和不相等操作符重载。两个坐标点相等,是指它们的横坐标和纵坐标都相等。

(7)在程序主方法中创建坐标为(1,2)和(3,3)的两个坐标点对象,判断它们是否相等;而后将第一个坐标点移动到第二个坐标点上,再判断它们是否相等。

(8)在程序中再新建一个直线类czline,为其定义两个double类型的字段成员a和b,分别表示直线的斜率和截距;再定义字段的封装属性a和b,但它们都是只读的。

(9)为czline定义两个构造函数,一个根据斜率和截距来创建直线对象,另一个则根据两个czpoint对象来构造直线对象(直线穿过这两个点)。后一个的参考源代码如下:

publicczline(czpointp1,czpointp2)

{

if(p1==p2)

thrownewargumentexception(\两点不能相同\);

this.a=(p2.y-p1.y)/(p2.x-p1.x);this.b=p1.y-this.a*p1.x;}

(10)为czline定义公有方法move,但它只用于平移直线,而不改变直线的斜率。再为其定义公有方法contains,用于判断某点是否在该直线上。

(11)类似的,为czline重载相等和不等操作符。

(12)最后在程序主方法中采用不同的方式创建直线对象,并编译运行程序,

测试它们的使用效果。

程序的整体结构如下:

个人编程:源代码:

usingsystem;

usingsystem.collections.generic;usingsystem.linq;usingsystem.text;

namespacel6_1{

classprogram{

staticvoidmain(string[]args){


(未完,全文共3437字,当前显示1117字)

(请认真阅读下面的提示信息)


温馨提示

此文章为6点公文网原创,稍加修改便可使用。只有正式会员才能完整阅读,请理解!

会员不仅可以阅读完整文章,而且可以下载WORD版文件

已经注册:立即登录>>

尚未注册:立即注册>>

6点公文网 ,让我们一起6点下班!