Класс для курса информацию


Вот какой вопрос спрашивает:

Построить класс Course.java. Этот класс должен иметь 4 Свойства: Идентификатор_курса, CourseName, описание и кредитных часов. Также добавить соответствующие set и Get методы. Добавить дисплей() метод для отображения этих 4 свойств в окне DOS. Наконец, добавьте в метод main() для тестирования. В методе Main() создать объект, конечно, заполнить ее данными, используя набор методов, затем вызвать метод отображения для отображения данных.

Я просто хочу убедиться, что это мой код и если есть ошибка в моем коде.

public class Course {

//   ========================== Properties ===========================
private int courseid;
private String courseName;
private String description;
private String creditHours;

//   ==========================  Behaviors  ==========================
public void setCourseId(int c) { courseid = c; }
public int getCourseId() { return courseid;}

public void setCourseName(String cn) { courseName = cn; }
public String getCourseName() { return courseName;}

public void setDescription(String d) { description = d; }
public String getDescription() { return description;}

public void setCreditHours(int ch) { ch = 4; }
public int getCreditHours() { return ch;}

//Returning String
public String toString() {
    return courseName + ":" + description + ":" + creditHours;
}

public void display() {
    System.out.println("Course ID             = " + getCourseId());
    System.out.println("Course Name      = " + getCourseName());
    System.out.println("Description      = " + getDescription());
    System.out.println("Credit Hours           = " + getCreditHours());

} //end display()





public static void main(String args []) {

    Course c1;
    c1 = new Course();

    c1.setCourseId(109);
    c1.setCourseName("Intro to Python");
    c1.setDescription("This course intros the Python Prog Lang.");
    c1.setCreditHours(4);

    c1.display();


    //Test out toString() method
    System.out.println(c1);
} //end main
} //end class


Комментарии
1 ответ

Вот список вещей, которые я бы изменил:


  1. Отступ (сделать это 2 или 4 вкладки)

  2. Названия полей противоречивы. Например, courseid должны быть изменены, чтобы courseId. Во-вторых, вы должны добавить префикс course для всех полей, или опустить его вообще. (Не забудьте также изменить ваши методы).

  3. Предполагая, что это POJO (простой старый объект Java) класс, то я бы порекомендовал извлекать display() метод из этого класса. Это просто не его ответственность, чтобы отобразить себя(с твердыми принципами). Вместо этого, вы можете изменить свой toString() способ выглядеть примерно так:

`

public String toString() {
return "Course ID:" + id + '\n' +
"Course name:" + name + '\n' +
"Course description:" + description + '\n' +
"Credit hours:" + creditHours + '\n';
}

`
И затем использовать его в другой объект/функция, чья обязанность-предоставлять информацию пользователю.


  1. Из моего личного опыта, я могу сказать, что id поле должно быть String. Если вы получаете данные с сервера, а затем преобразовать эти данные в объект POJO, то id поле может привести к переполнению в некоторых ситуациях, если это целое число. Даже longтип данных может вызвать переполнение, если id значение очень долго.

  2. Я не думаю, что это профессиональный способ объявить и инициализировать экземпляр класса, как это было написано. Вы можете сделать как в одной строке.

Это как я бы написал это:

public class Course {

private String id;
private String name;
private String description;
private float creditHours;

public void setId(String id) {
this.id = id;
}

public String getId() {
return id;
}

public String getName() {
return name;
}

public void setCreditHours(float creditHours) {
this.creditHours = creditHours;
}

public void setName(String name) {
this.name = name;
}

public void setDescription(String description) {
this.description = description;
}

public String getDescription() {
return description;
}

public String toString() {
return "Course ID:" + id + '\n' +
"Course name:" + name + '\n' +
"Course description:" + description + '\n' +
"Credit hours:" + creditHours + '\n';
}

public static void main(String args[]) {
final Course course = new Course();
course.setCreditHours(15.6f);
course.setDescription("BlaBla");
course.setId("12345567878665345453123");
course.setName("Just a boring class");

System.out.print(course.getDescription());
}
}

Он содержит некоторые другие изменения также.

Надеюсь, что это помогает!

Как Примечание стороны, хотя это кажется совершенно излишним, я хотел бы, чтобы вы знали, что это не мое намерение критиковать ваш код, я просто выражу свое мнение, основанное на опыте у меня.

2
ответ дан 13 марта 2018 в 04:03 Источник Поделиться