java的流程框架

这里写图片描述

//形状接口定义
public interface IShape {//功能
   boolean input();  //输入方法
   float getArea();  //求面积方法
}

//流程处理类
public class ShapeProcess {
     private IShape shape;
     public ShapeProcess(IShape shape){
         this.shape = shape;
     }

     public float process(){
         shape.input();
         float value = shape.getArea();
         return value;
     }



//圆类
public class Circle implements IShape{
    float r;

    @Override
    public boolean input() {
        // TODO Auto-generated method stub
        System.out.println("请输入半径:");
        Scanner scanner = new Scanner(System.in);
        r = scanner.nextFloat();
        return true;
    }

    @Override
    public float getArea() {
        // TODO Auto-generated method stub
        float s = (float)Math.PI*r*r;
        return s;
    }

}


//矩形类
public class Rectangle implements IShape{
    float width,height;
    @Override
    public boolean input() {
        // TODO Auto-generated method stub
        System.out.println("请输入宽、高:");
        Scanner scanner = new Scanner(System.in);
        width = scanner.nextFloat();
        height = scanner.nextFloat();
        return true;
    }

    @Override
    public float getArea() {
        // TODO Auto-generated method stub
        float s = width*height;
        return s;
    }

}



//测试类
public class Test {
   public static void main(String[] arg){
       IShape shape1 = new Circle();
       ShapeProcess tool1 = new ShapeProcess(shape1);
       float value1 = tool1.process();
       System.out.println("圆的面积:"+value1);

       IShape shape2 = new Rectangle();
       ShapeProcess tool2 = new ShapeProcess(shape2);
       float value2 = tool2.process();
       System.out.println("矩形的面积:"+value2);
   }
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值