永发信息网

JAVA的初级题目。。帮忙解决下。。谢谢

答案:2  悬赏:50  手机版
解决时间 2021-05-10 13:55
  • 提问者网友:書生途
  • 2021-05-09 15:42

定义一个矩形类,再派生出一个正方形类,自行扩充成员变量和方法;再定义接口EqualDiagonal,其中包含方法getDiagonal();在矩形类和正方形类中实现此接口。

最佳答案
  • 五星知识达人网友:duile
  • 2021-05-09 16:34

//定义EqualDiagonal接口
public interface EqualDiagonal
{
public double getDiagonal();
}



//定义长方形,实现EqualDiagonal接口
class Rect implements EqualDiagonal
{
//定义成员变量,矩形的 长 和 宽
private double width;
private double height;

//构造方法
public Rect()
{
this.width=20;
this.height =30;
}

public Rect(double w,double h)
{
this.width=w;
this.height=h;
}


//设置、获取 矩形的 长 和 宽
public void setWidth(double width)
{
if (width>0)
this.width = width;
}


public double getWidth()
{
return width;
}
public void setHeight(double height)
{
if (height>0)
this.height = height;
}
public double getHeight()
{
return height;
}

//定义方法,计算周长
public double calCir()
{
return 2*(this.height +this.width );
}


//计算面积
public double calArea()
{
return this.height *this.width ;
}


//计算对角线长度
@Override
public double getDiagonal()
{
// TODO Auto-generated method stub
return Math.sqrt(this.height *this .height +this .width *this.width );
}
}


//定义正方形类,从Rect 类继承
public class Square extends Rect
{
//定义正方形成员变量
private double SLength;

//构造函数
public Square()
{
this .SLength = 20 ;
}

public Square(double s)
{
this.SLength =s ;
}

//定义方法,设置、获取 边长的值
public void setSLength(double sLength)
{
if(this.SLength >0)
SLength = sLength;
}


public double getSLength()
{
return SLength;
}


//重写父类的方法
@Override
public double calArea()
{
// TODO Auto-generated method stub
return this.SLength *this.SLength ;
}


@Override
public double calCir()
{
// TODO Auto-generated method stub
return 4*this.SLength ;
}


@Override
public double getDiagonal()
{
// TODO Auto-generated method stub
return Math.sqrt(2*this.SLength *this.SLength );
}

}



//测试长方形 和 正方形 类
public class Test
{
public static void main(String[] a)
{
Rect R =new Rect(45,82);
Square S =new Square (50);


// 输出长方形的面积、周长、对角线长
System.out .println("长方形————");
System.out.println("\t面积 = "+R. calArea());
System.out.println("\t周长 = "+R. calCir());
System.out .println("\t对角线长 = "+R.getDiagonal());

// 输出正方形的面积、周长、对角线长
System.out .println("\n正方形————");
System.out .println("\t面积 = "+S.calArea());
System.out .println("\t周长 = "+S.calCir());
System.out .println("\t对角线 = "+S.getDiagonal());
}
}




程序运行结果:


长方形————
面积 = 3690.0
周长 = 254.0
对角线长 = 93.53608929178085


正方形————
面积 = 2500.0
周长 = 200.0
对角线 = 70.71067811865476


全部回答
  • 1楼网友:迷人又混蛋
  • 2021-05-09 17:18

class juxing implements EqualDiagonal

{

void getDiagonal()

{

}

}

class zhengfangxing extends juxing

{

void getDiagonal()

{

}

}

interface EqualDiagonal

{

void getDiagonal();

}

大概框架是这样 业务逻辑是什么你自己写就行了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯