【问题标题】:Refer to a class/method引用一个类/方法
【发布时间】:2018-06-03 15:42:39
【问题描述】:

我的Calories 类中有这个方法,它继承自User 类:

class Calories : User
{
    public void CalcuateCaloriesMale()
    {
        var user = new User();
        var equation = (10 * user.Weight) + (6.25 * user.Height) - (5 * user.Age) + 5;
        Console.WriteLine("Based on the Mifflin – St Jeor Formula You need to eat {0} Kalories a day\nTo Gain Weight ", equation);

    }
}

我在 Program.cs 中有这段代码

if (newGoal.GoalStatusGainWeight ==  true)
{
    var calories = new Calories();

    switch (newUser.Gender)
    {
        case "m":
             calories.CalcuateCaloriesMale();
             break;

现在我不明白如何让Calories 类知道用户一开始输入的内容。

newUser.Name = Question.AskString("Name: ");
newUser.Age = Question.AskInt("Age: ");
newUser.Gender = Question.AskString("Gender(m/f): ");
newUser.Height = Question.AskInt("Height(cm): ");
newUser.Weight = Question.AskInt("Weight(kg): ");

Calories 类不考虑用户输入的内容。

虽然我可以使用make a new User,但我想我的想法是错误的。

我做错了什么?我怎么能想象这个工作,以便我可以更好地学习它?

【问题讨论】:

  • 为什么要新建一个类?为什么不直接创建一个方法(在User 或以User 作为参数)?看来您需要阅读基本教程,在您的代码中,newUserCalcuateCaloriesMale 中的 user 之间存在 no 连接@
  • 那我该怎么做?
  • 以下行是错误的:var user = new User();。您正在创建 User 类的新实例。您可以使用 this.Name 获取名称或仅使用 Name。

标签: c# .net


【解决方案1】:

你不应该在方法中写作。
当然,您不应该在该方法中创建新用户。

public string CalcuateCaloriesMale()
{
    var equation = (10 * user.Weight) + (6.25 * user.Height) - (5 * user.Age) + 5;
    return equation ;
}

如果用户是 m/f,您应该知道一个 CalcuateCalories。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多