Написание простого класса с аксессорами и мутаторами

Я очень новичок в Java. Меня попросили написать класс java для очень простого класса курса под названием «Курс», в котором есть имя члена данных и кредитные часы (например, «Программирование и логика I», 4). Ваш класс должен включать методы доступа (т. е. get) и мутатора (т. е. set) для каждого атрибута и по крайней мере один перегруженный конструктор, который инициализирует имя членов данных и кредитные часы.

Это то, что у меня есть до сих пор, но я считаю, что я так далеко, и мой мозг просто не хочет работать прямо сейчас.

public class Course {

public String courseName;
public int creditHours;

public Course(String courseName, int creditHours) {

    this.courseName = courseName;
    this.creditHours = creditHours;


    public String getCourseName() {
        return courseName;
    }
    public int getCreditHours(){
        return creditHours
    }



   public void setCourse(String course)
   {
     this.course = course;
   }


   public void setHours(String hours)
   {
     this.hours = hours;
    }

}
}

person Alex    schedule 17.05.2011    source источник
comment
Некоторые подсказки для вас, ваши атрибуты должны быть закрытыми, иначе нет смысла в аксессорах и мутаторах, поскольку их можно установить напрямую. Ваш конструктор содержит ваши средства доступа и мутаторы и должен завершиться раньше. Ваши установленные методы неверны, откуда this.course?   -  person Chris Diver    schedule 17.05.2011


Ответы (2)


Ваш синтаксис просто немного не так. В Java конструкторы объявляются как методы класса почти так же, как и любые другие методы. Пытаться

public Course {
    private String courseName;
    private int creditHours;

    public Course() {
        courseName = null;
        creditHours = 0;
    }

    public Course(String courseName, int creditHours) {
        this.courseName = courseName;
        this.creditHours = creditHours;
    }

    // ... and your getters and setters, which look fine except for one missing semicolon
}
person Daniel Lubarov    schedule 17.05.2011
comment
Меня всегда раздражает, когда люди комментируют, что что-то сработало, но нет большой зеленой галочки... - person L0j1k; 22.10.2012

Прежде всего, ваш конструктор должен завершиться после того, как вы инициализируете свои переменные. Затем у вас есть реализации вашего метода после этого в скобках класса. Вы также должны сделать свои объявления переменных закрытыми. Только методы будут общедоступными или доступными извне.

Во-вторых, ваши методы установки должны устанавливать имена ваших переменных. Другими словами

this.courseName = course;

вместо

   this.course = course;

у вас нет этого.курса.

Надеюсь это поможет.

person Jamie    schedule 17.05.2011