个人作业
一.题目简介
综合使用封装、继承、多态、抽象类与接口、组合及继承等面向对象知识,给出所选项目的面向对象设计与实现。
所选项目名称:MyPoint类
需要实现的:
1.两个带get方法的数据域x和y,分别表示它们的坐标。
2.一个创建点(0,0)的无参构造方法。
3.一个创建特定坐标点的构造方法。
4.两个数据域x和y各自的get方法。
5.一个名为distance的方法,返回MyPoint类型的两个点之间的距离。
6.一个名为distance的方法,返回指定x和y坐标的两个点之间的距离。
二.源码的github链接
https://github.com/201303014048/test/blob/master/mypoint
三.所设计的模块测试用例、测试结果截图
做本题的重要步骤是了解构造函数的运用,以及在编程中涉及到的数学方面的公式的应用,比如说开平方。
主要需实现无参构造方法创建点 (0,0);两个get方法分别得到数据域x和y;两个数据域x和y表示坐标;main函数的实现。
核心算法详细设计
1、
public MyPoint(){
this.x=0;
this.y=0;
}//
无参构造方法创建点 (0,0);
2、
public double getX(){
return this.x;
}
public double getY(){
return this.y;
}
//两个get方法分别得到数据域x和y;
3、
public void setX(double x){
this.x=x;
}
public void setY(double y){
this.y=y;
}
//两个数据域x和y表示坐标;
4、
public double MyPointer(double distance){
return distance= Math.sqrt(distance);
}
//返回两点之间的距离;
5、
main函数的实现:
public static void main(String[] args) {
MyPoint start=new MyPoint();
MyPoint end=new MyPoint(10,30.5);
System.out.println(start.MyPointer(10*10+30.5*30.5));
}
对构造方法的进行部分的修改,以实现任意两点距离输出。进行修改的部分如下:
Public double MyPointer( double x1,double y1,double x2,doubley2){
double distance = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
return distance= Math. sqrt (distance);
}
Main函数编写:
Public static void main(String[] args) {
MyPoint start=new MyPoint();
System. out.println(start.MyPointer(0,0,10,30.5));
}
通过对其修改只要传入所求点的坐标就能求出任意两点的距离。
运行程序,计算出x和y坐标的两个点之间的距离。
运行结果截图:
程序设计结果为:
32.09750769140807
四.问题及解决方案、心得体会
本次实践的心得体会、收获、遇到的问题及解决方案:
这次的课程设计不仅起到了温故的效果,而且使我对构造函数,构造方法等Java常用的一些编程语言又有了更加深刻的了解。课堂上学到的知识,在课下一定要反复的练习。编程中一定要有独立的修改错误的习惯。一定要多看关于编程设计方面的书。
对构造方法的进行部分的修改,以实现任意两点距离输出。进行修改的部分如下:
Public double MyPointer( double x1,double y1,double x2,doubley2){
double distance = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
return distance= Math. sqrt (distance);
}
Main函数编写:
Public static void main(String[] args) {
MyPoint start=new MyPoint();
System. out.println(start.MyPointer(0,0,10,30.5));
}
通过对其修改只要传入所求点的坐标就能求出任意两点的距离。