簡體   English   中英

用Java創建類和方法

[英]Creating classes and methods in Java

這是我在這里的第一篇文章,所以,如果沒有人因為我的問題而生氣,並希望因為我的英語而生氣,那我會很高興的。這不是我的母語:D

問題是:對於我在大學里的課程,我必須編寫一個健身應用程序(將來它將變得越來越大)。 現在,我必須盡我所能設置一些類和方法。 這是一個例子:

public class Trainingsession {

    private int workoutTime;
    private int date;
    private int startingtime;
    private Fitnessequipment fitnessequipment;
    private int neededWorkoutTime;


    public Trainingsession(int workoutTime, int date, int startingtime, Fitnessequipment fitnessequipment) {
        this.workoutTime = workoutTime;
        this.date = date;
        this.startingtime = startingtime;
    }

    public boolean goalReached (int caloryGoal) {
        return (fitnessequipment.caloryConsumption(workoutTime) >= caloryGoal))
    }

    // ...

}

當我建立我的方法goalReached ,我必須建立caloryGoal與我的其他屬性,如在第一,一起datestartingtime等? 我的問題是,給出了一些屬性,但是我不知道是否只需要通過查看方法來添加其他屬性...

作為對您問題的一般回答:

caloryGoal是一個參數,不需要“設置”,它由方法的調用者提供。

你需要確保的是,一切都被要求fitnessequipment.caloryConsumption提供( Fitnessequipment處於有效狀態,例如),以使該方法的工作。

根據經驗,禁止在調用對象的方法時創建會導致RuntimeExceptions的對象是一個好習慣。 讓您自己成為一個使用您的API而不編寫它的人,他們不會知道哪些字段是必需的,除非構造函數中需要這些字段。

我希望我不會誤解您的問題,但是這里有:

caloryGoal是通過調用goalReached()傳遞的參數,因此不需要在構造函數中初始化caloryGoal。 如果在調用構造函數后需要在對象中指定值(例如,如果您在實例化值之后了解該值),則可以使用setter方法。 這是一個例子:

public void setWorkoutTime(int newWorkoutTime) {
    workoutTime = newWorkoutTime;
}

調用此方法后, workoutTime將具有您作為newWorkoutTime傳入的值。

不清楚您描述的功能的目的是什么。 如果我理解正確,則GoalReached是一個接收數字並返回true的卡路里函數,該目標在此會話(此實例)中消耗的卡路里> =。 因此,它應該看起來像這樣:

public boolean goalReached (int caloryGoal) {
    return (this.caloryConsumption(workoutTime) >= caloryGoal))
}

當caloryConsumption將是一個返回實例的卡路里消耗量的函數。 為此,我應該添加一個名為CaloriesPerMinute的新文件,該文件將指示運動每分鍾消耗多少卡路里並更新構造函數。 然后在CaloriesPerMinute中添加計算。 基本上,您需要知道您想要什么。 也許寫合同會幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM