Установить и получить методы в Java? - PullRequest
47 голосов
/ 10 июля 2011

Как я могу использовать методы set и get и зачем их использовать? Они действительно полезны? А также можете ли вы привести примеры методов set и get?

Ответы [ 15 ]

1 голос
/ 10 июля 2011

Преимущества методов get () set () заключаются в следующем.

  1. Вы можете легко сериализовать свой объект.
  2. Вы можете создать постоянный объект из содержащего класса.
  3. Вы можете легко преобразовать свойства в JSON.
  4. В слое DAO (Frameworks, например Hibernate) вы можете напрямую сохранить объект в БД.
  5. Простое понимание объектаориентированная концепция.
  6. Требуется во всех шаблонах проектирования, за исключением, возможно, в шаблоне с одним тоном.
  7. Безопасность свойств, защищающих прямой доступ.
  8. Полиморфизм, Инкапсуляция может быть легко понята и реализована с помощьюэтот тип класса.

Пример:

private String personName;
private int personId;

    public void setPersonName(String name) throws Exception{
    if(!(name.equals("")||name=="")){
      this.personName = name;
    }
  }
  public String getPersonName(){
    return this.personName;
  }
  public void setPersonId(int id) throws Exception{
    this.personId = id;
  }
  public int getPersonId(){
    return this.personId;
  }
0 голосов
/ 26 августа 2014

Я не вижу простого ответа на второй вопрос (почему) здесь.Итак, давайте.

Допустим, у вас есть открытое поле, которое очень часто используется в вашем коде.Всякий раз, когда вы решите, что вам нужно сделать что-то дополнительное, прежде чем вы дадите или установите это поле, у вас возникнут проблемы.Вы должны создать специальный метод получения и установки для этого поля и изменить свой полный код с непосредственного использования поля на использование метода получения и установки.

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

Использование методов получения и установки имеет отношение к будущему планированию кода, поэтомуделает его более гибким.Конечно, вы можете использовать открытые поля, особенно для простых классов, которые просто содержат некоторые данные.Но всегда полезно сделать поле конфиденциальным и написать для него метод get и set.

0 голосов
/ 29 апреля 2014

Похоже, вы пытаетесь сделать что-то похожее на C #, если вы хотите создать метод setAge
setAge(int age){ this.age = age;}

0 голосов
/ 29 апреля 2014

это код для метода набора

public void setAge(int age){
  this.age = age;
}
0 голосов
/ 29 апреля 2014

Этот ответ объединен с другим вопросом.

Ваш getAge() метод называется методом экземпляра в Java.

Чтобы вызвать метод экземпляра, у вас должен быть объект класса, в котором определен этот метод.

Например, если этот метод в классе называется Person, то

  1. Создание объекта Person с использованием нового оператора

     Person p = new Person();
    
  2. Чтобы получить возраст объекта Person, используйте этот метод

    p.getAge()
    
...