首页 新闻 会员 周边 捐助

一道题目,大家帮看下!

0
悬赏园豆:20 [已解决问题] 解决于 2010-06-28 11:36

实现下面类的派生和每个类内部的成员变量和成员方法,对派生类和基类的同名方法实现重载:
Point类:成员变量 int x , y
  成员方法 Point ( ), Point ( x, y ), setPoint ( x, y ), getX ( ), getY ( )
Point类直接派生Line类:
成员变量 Point  p1 , p2
成员方法 Line ( x, y ), setPoint ( p1, p2 ), distance( p1,p2 )
Line类直接派生Trapezoid类(梯形):
成员变量 Line  l1 , l2, high,p1, p2, p3, p4
成员方法 getArea ( l1,l2, h ), getCircumference ( p1, p2, p3, p4 )
Line类直接派生Parallelogram类(平行四边形):
成员变量 Line  l1 , l2
成员方法 getArea ( l1,l2 ), getCircumference ( l1, l2 )
Line类直接派生Rectangle类(矩形):
成员变量 Line  l1 , l2
成员方法 getArea ( l1,l2 ), getCircumference ( l1, l2 )
Rectangle类直接派生Square类(正方形):
成员变量 Line  Side
成员方法 getArea ( side ), getCircumference ( side )。
编写一个程序,分别输入这些梯形、平行四边形、矩形和正方形类的实例对象的参数值,并逐个输出每个图形对象的左上角坐标、一条上水平边长、图形面积和周长。

 

帮别人做的一道题目。。。。我有些头大。。。主要是LINE类里边那个SETPOINT的方法这样的东西实在看着头疼,不知道拿来做啥子用的!还有最后的提问,左上角坐标是啥玩意?顶点坐标么?(这个问题可以不回答)。。。几个类下来 一个属性都没有。。。不知道大家有啥方法没,指教一下!

Godot的主页 Godot | 初学一级 | 园豆:142
提问于:2010-06-24 10:47
< >
分享
最佳答案
0

反正我无聊,那么我来依次来写吧(写错了,别怪我)

public class Point{

double x;

double y;

public Point(){}

public Point(double x,double y){

setPoint(x,y);

}

 

public void setPoint(double x, double y){

//相当于把这个Point重新的设置下坐标而已

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

}


//下面两个明显的从C++过来的风格

//c#可以用属性,简单点

public double getX(){

return x;}


public double getY(){

return y;

}


}

收获园豆:20
熊猫疯狂者 | 菜鸟二级 |园豆:280 | 2010-06-24 16:02
Line的……(我不觉得应该是派生的关系啊) public class Line { Point p1; Point p2; public Line(Point x,Point y){ setPoint(x,y); } Public void setPoint (Point p1, Point p2 ){ this.p1=p1;this.p2=p2; } public double distance( p1,p2 ) return System.Math.Sqrt(System.Math.Pow((p1.getX()-p2.getX()),2)+System.Math.Pow((p1.getY()-p2.getY()),2)) }
熊猫疯狂者 | 园豆:280 (菜鸟二级) | 2010-06-24 16:20
我跟你做法是一样的,只不过我感觉C#写起来怪怪的,因为这位出题的哥们给限制了类成员,包括方法名和参数,一个属性都没有,用起来蹩手的很! LINE的话派生我做成是让下边的四边形的图形类全部继承LINE的成员,然后直接用LINE来实例出所有需要的对象,可是那个SETPOINT这个方法很2B,除非下边的类重写该方法,不然咋计算梯形面积啊,俩斜边要用到4个点的!他参数里只有两个点!
Godot | 园豆:142 (初学一级) | 2010-06-24 20:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册