正方形继承长方形问题 java

a18703673235 2012-04-12 11:03:52
这是长方形的类 正方形的构造方法怎么继承长方形的
lass Rectangle{
private int x1;
private int x2;
private int y1;
private int y2;

public Rectangle(int x1,int x2,int y1,int y2){
this.x1=x1;
this.x2=x2;
this.y1=y1;
this.y2=y2;
}
public int getHeight(){
int aHeight=0;
aHeight=Math.abs(x1-x2);
return aHeight;
}
public int getWidth(){
int aWidth=0;
aWidth=Math.abs(y1-y2);
return aWidth;
}
public int getPerimeter(){
int aPerimeter=0;
aPerimeter=getHeight()*2+getWidth()*2;
return aPerimeter;
}
public int getArea(){
int aArea=0;
aArea=getHeight()*getWidth();
return aArea;
}
}
...全文
686 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shine333 2012-04-12
  • 打赏
  • 举报
回复
public class Square extends Rectangle {
private int length;
public Square(int x, int y, // 左边顶点坐标
int length // 边长
) {
super(x, y, x + length, y + length);
this.length = length;
}

public int getLength() {
return length;
}

//.奶.奶.的.,.说.老.子.回.复.正.文.中.有.非.法.词.或.词.组.!
//.后.续.两.个.方.法.不.覆.盖.也.可.以.,.只.是.举.个.例.子,如.果.是.其.他.例.子,.
//.原.来.代.码.开.销.很.大.的.话.,.建.议.覆.盖。
//.在.你.这.个.例.子.中.,.也.建.议.在.Rectangle中.设.置.width/height.属.性.,.在.构.造.的.时.候.一.并.计.算.,.这.样.加.快.速.度

@Override
public int getWidth() {
return length;
}

@Override
public int getHeight() {
return length;
}
}
  • 打赏
  • 举报
回复
怎么这么麻烦啊。正方形和长方形,都是矩形,而矩形其实只需要左上角和右下角这两个点的坐标就可以搞定了。根据两个点的X和Y坐标上的差值得出的宽高是否相等就自然说明是正方形和长方形了。除非你要给这个类增加一个方法“说出我是正方形还是长方形”,否则好像不必区分,直接用就是了。
a18703673235 2012-04-12
  • 打赏
  • 举报
回复
我按你说的改了,但是
D:\java2>java PassTest
Exception in thread "main" java.lang.NoSuchMethodError: Square: method <init>()V
not found
at PassTest.main(PassTest.java:160)
a18703673235 2012-04-12
  • 打赏
  • 举报
回复
这是两个点坐标,左上角和右下角的
菖蒲老先生 2012-04-12
  • 打赏
  • 举报
回复
不过看你参数比较奇怪。。。
int x1,int x2,int y1,int y2 是什么东西??
又不是Point坐标,又不是长和宽,非要减一下。
设计得不好。。。
菖蒲老先生 2012-04-12
  • 打赏
  • 举报
回复

class Square extends Rectangle {
public Square(int x, int y) {
super(x, y, x, y);
}
}
caoxuwei414759873 2012-04-12
  • 打赏
  • 举报
回复
求解。。
a18703673235 2012-04-12
  • 打赏
  • 举报
回复
谢谢了

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧