三角形类Triangle、锥体类Taper和主类Exp6_1

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Mr_wxc/article/details/93668969

编写一个应用程序,实现以下功能:

①声明一个接口(Calculability),接口中包含一个方法area()。

②声明一个三角形类继承该接口,类名为Triangle,类中包含两个变量、一个带参数的构造方法和一个计算三角形面积的方法:

三角形的底边长w

三角形的高h

构造方法Triangle(double width,double height)。

计算三角形面积的方法area(),该方法覆盖接口(Calculability)的同名方法,计算三角形的面积(w*h/2)。

③声明一个锥体类(Taper),包含一个接口对象bottom(锥体的底)和一个变量(锥体的高)height,一个带参数的构造方法,一个换底方法getbottom(),一个锥体体积的计算方法volume()。

④声明一个主类Exp6_1,在主方法中声明接口和锥体类的对象,输出锥体的底面积和锥体的体积(bottom*height/3)。

代码如下:

interface Calculaility {
	
	public double area(); 
	
}

public class Triangle implements Calculaility {
	double w,h;

	public Triangle(double width, double height) {
		 w=width;
		 h=height;
	}
	
	public double area(){
		return w*h/2;
	}
}

public class Rectsngle implements Calculaility {

	double w,h;
	
	public Rectsngle(double width, double height) {
		 w=width;
		 h=height;
	}

	public double area() {
		return w*h;
	}
}

public class Circle implements Calculaility {
	
	double r;
	public Circle(double radius){
		r=radius;
	}

	public double area() {
		return 3.14*r*r;
	}
}


public class Taper {
	Calculaility bottom;
	double height;
	
	public Taper(Calculaility b, double h) {
		 bottom=b;
		 height=h;
	}

	public void getBottom(Calculaility b) {
		bottom=b;
	}
	
	public double volume(){
		return (bottom.area()*height)/3;
	}	
}

public class Exp6_1 {

	public static void main(String[] args) {
		Taper tap;
		Calculaility bottom;
		bottom=new Rectsngle(5, 10);
		System.out.println("锥体的底面为矩形的底面积="+bottom.area());
		tap=new Taper(bottom,30);
		System.out.println("锥体的底面为矩形的体积="+tap.volume());
		bottom=new Circle(10);
		System.out.println("锥体的底面为圆形的底面积="+bottom.area());
		tap.getBottom(bottom);
		System.out.println("锥体的底面为圆形的体积="+tap.volume());
	}

}

以上代码经过测试,可以放心使用

猜你喜欢

转载自blog.csdn.net/Mr_wxc/article/details/93668969
今日推荐