//图形类作父类
public class Diagram {
//计算面积
public double area(){return 0;}
}
//圆类:继承图形类
public class Crile extends Diagram{
private double r;
public Crile(double r){
this.r=r;
}
//重写area方法
public double area(){
double r=this.r;
return r*r*3.14;
}
}
//三角形类:继承图形类
public class Triangle extends Diagram{
private double high; //三角形的高
private double bottom; //三角形的底
public Triangle(double h,double b){
this.high=h;
this.bottom=b;
}
public double area(){
double h=this.high;
double b=this.bottom;
return h*b/2;
}
}
//测试
public class test {
public static void main(String[] args) {
System.out.println("请选择图形的类型:(1)三角形(2)圆");
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
if(i==1){
System.out.println("你选择的是三角形!请输入三角形高长(回车结束):");
double high=scanner.nextLong();
System.out.println("请输入三角形底长(回车结束):");
double bottom=scanner.nextLong();
//这里体现动态,如果选择的图形是三角形,那么创建三角形类
//调用的时候就是调用的三角形的方法
Diagram diagram=new Triangle(high, bottom);
System.out.println("三角形的面积为:"+diagram.area());
}
if(i==2){
System.out.println("你选择的是圆形!请输入圆的半径(回车结束):");
double r=scanner.nextLong();
Diagram diagram=new Crile(r);
System.out.println("三角形的面积为:"+diagram.area());
}
}
}
其他的一样了,纯手工 望采纳!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。