Написание простого класса с аксессорами и мутаторами - PullRequest
1 голос
/ 17 мая 2011

Я очень новичок в Java.Меня попросили написать java-класс для очень простого класса Course, называемого Course, в котором есть имя члена данных и количество кредитных часов (например, «Программирование и логика I», 4).Ваш класс должен включать методы accessor (т.е. get) и mutator (т.е. 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;
    }

}
}

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Ваш синтаксис только немного.В 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
}
1 голос
/ 17 мая 2011

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

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

this.courseName = course;

вместо

   this.course = course;

у вас нет this.course.

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

...