Java上机作业04

Java上机作业03

题目:
定义IShape接口,包含两个方法:
·getArea(求面积方法):没有参数,返回double类型值;
·getPerimeter(求周长方法):没有参数,返回double类型值。

public interface IShape {
	public abstract double getArea() ;
	public abstract double getPerimeter();

}

定义IDiagArea接口,继承IShape接口,新增方法:·getDiagonal(求对角线方法):没有参数,返回double类型值。

public interface IDiagArea extends IShape{
	public abstract double getDiagonal();

}

定义MyRectangle(长方形类),实现IShape接口,并添加以下内容:属性:长、宽,double类型构造方法:两个参数,根据参数的值为属性赋值。output方法:调用成员方法计算并输出长方形的相关信息(长、宽、面积、周长)。

public class MyRectangle implements IShape{
	double l;
	double w;
	public MyRectangle(double l,double w) {
		this.l=l;
		this.w=w;
	}
	public double getArea() {
		return l*w;
	}
	public double getPerimeter() {
		return 2*(l+w);
	}
	public void output() {
		System.out.println("该长方形的相关信息如下:");
		System.out.println("长为:"+this.l+",宽为:"+this.w);
		System.out.println("该长方形的面积是"+this.getArea()+",该长方形的周长是"+this.getPerimeter());
		
	}

}

定义MySquare(正方形类),继承MyRectangle类,实现IDiagArea接口,并添加以下内容:构造方法:1个参数,调用父类的构造方法把长、宽设置为相等(即边长),为参数的值。
重写output方法:调用成员方法计算并输出长方形的相关信息(边长、面积、周长、对角线长度)(开根号可调用Math.sqrt(double a)的方法)

public class MySquare extends MyRectangle implements IDiagArea{
	public MySquare(int z) {
		super(z,z);
	}
	public double getDiagonal() {
		return Math.sqrt(2*l*w);
	}
	public void output() {
		System.out.println("该正方形的相关信息如下:");
		System.out.println("边长为:"+this.l);
		System.out.println("该正方形的面积是"+this.getArea()+",该长方形的周长是"+this.getPerimeter()+",对角线的长度是"+this.getDiagonal());
		
	}

}

定义测试类Demo,编写main方法,新建MyRectangle、MySquare对象,并分别调用它们的output方法。

public class Demo {
		 public static void main(String[] args) {
			MyRectangle r=new MyRectangle(3,4);
			MySquare s=new MySquare(5);
			r.output();
			s.output();
		 }
			  
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值