我想编写一个用于锻炼的应用程序,并且需要有关类图的一些建议。我希望用户能够在健身房使用该应用程序。用户将开始锻炼,进行任意数量的练习,每组都有任意数量的套。

我的想法是这样的:

-每个锻炼都有一个日期和时间。即使用户每天锻炼超过一次,这也使它们变得独一无二。

-每次运动都有一个名字。

-每组都有权重和重复次数。

例:

20xx-XX-XX XX:XX(锻炼)
深蹲(运动)
100x5(设置)
100x5(设置)
100x5(设置)
卧推(锻炼)
50x8(设置)
50x8(设置)
50x8(设置)

那么,将所有这些整合在一起的最佳方法是什么?我认为也许每个锻炼都可以有一张地图,其中以练习为键,而数组列表则包含以值为单位的数组。这是一个好的解决方案吗?还是有更好的解决方案?

最佳答案

class User
{
   List<Workout> _workouts;
}

class Workout
{
    Date _startdate;
    Date _enddate;
    Map<Exercise,List<Set>> _exercises;
}

class Exercise
{
    String _name;
}

abstract class Set
{
    abstract int getTotal();
}

class WeightSet extends Set
{
    int _weight;
    int _reps;

    @override
    public String toString() {return _weight + "X" + _reps;}
}

class CardioSet extends Set
{
    int _durationInSeconds;
    int _distance;
}

10-07 19:10
查看更多