避免太多的if语句
创始人
2024-12-16 20:00:05
0

使用多态和策略模式来减少if语句的使用。例如,下面的代码使用策略模式来计算各种形状的面积,而不使用大量的if语句。

interface Shape {
    double calculateArea();
}

class Circle implements Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double calculateArea() {
        return Math.PI * radius * radius;
    }
}

class Rectangle implements Shape {
    private double length;
    private double width;

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    @Override
    public double calculateArea() {
        return length * width;
    }
}

class AreaCalculator {
    private Shape shape;

    public AreaCalculator(Shape shape) {
        this.shape = shape;
    }

    public double calculateArea() {
        return shape.calculateArea();
    }
}

public class Main {
    public static void main(String[] args) {
        Shape circle = new Circle(5);
        Shape rectangle = new Rectangle(5, 10);

        AreaCalculator circleCalculator = new AreaCalculator(circle);
        AreaCalculator rectangleCalculator = new AreaCalculator(rectangle);

        System.out.println("Circle area: " + circleCalculator.calculateArea());
        System.out.println("Rectangle area: " + rectangleCalculator.calculateArea());
    }
}

相关内容

热门资讯

最终"蜀渝牌乐汇辅助... 最终"蜀渝牌乐汇辅助"好像是真的有辅助脚本(哔哩哔哩)1、每一步都需要思考,不同水平的挑战蜀渝牌乐汇...
黑科技辅助挂"广东雀... 黑科技辅助挂"广东雀神智能插件"确实是真的有辅助软件(哔哩哔哩)1、完成广东雀神智能插件辅助器v3....
黑科技攻略"聚财ap... 黑科技攻略"聚财app辅助"本来确实有辅助器(哔哩哔哩)1、用户打开应用后不用登录就可以直接使用,点...
透视免费"雀友会免费... 透视免费"雀友会免费自动挂机脚本"总是存在有辅助app(哔哩哔哩)1、超多福利:超高返利,海量正版游...
据目击者称"欢乐对决... 据目击者称"欢乐对决脚本辅助器ios"好像真的是有辅助工具(哔哩哔哩)暗藏猫腻,小编详细说明欢乐对决...
透视黑科技"微信决胜... 透视黑科技"微信决胜游戏辅助"原来真的是有辅助攻略(哔哩哔哩)1、微信决胜游戏辅助有没有辅助教程、微...
技巧辅助挂"欢乐对决... 技巧辅助挂"欢乐对决手游辅助"总是存在有辅助方法(哔哩哔哩)1、超多福利:超高返利,海量正版游戏,欢...
据了解"新众乐辅助&... 据了解"新众乐辅助"都是是有辅助脚本(哔哩哔哩)1、新众乐辅助有没有辅助教程、新众乐辅助有透视吗等服...
透视挂透视"福建天天... 透视挂透视"福建天天开心辅助器"好像是有辅助方法(哔哩哔哩)1)福建天天开心辅助器免费钻石:进一步探...
透视玄学"边锋老友怎... 透视玄学"边锋老友怎么开挂"都是是真的有辅助app(哔哩哔哩)1、边锋老友怎么开挂模拟器是什么优化,...