Другие языки программирования и технологии

В чём различие get и set в Java?

Никак не могу понять, в чём различие get и set? Я чайник, так что объясните наиболее простым языком. Заранее благодарю.
private int value;

public int getVal() {return value;}
public void setVal(int v) {value = v;}

set устанавливает значение приватного поля, get возвращает значение приватного поля
Виталий Ситник
Виталий Ситник
4 056
Лучший ответ
Семен прав, это формальность...

void getInt(int a) {this.a=a;}
int setInt() {return this.a;}

будет работать как отче, только люди будут путатся
В Java нет оператора get и set. Это названия методов, они могут быть абсолютно любыми.
get - получить, set - передать. Пример:

public class Cat {

private int weight = 2;

public int getWeight(){
return weight;
}

public void setWeight(int weight)
{
this.weight = weight;
}
}
___________________________________________________________________
А вообще, действительно, таких операторов нет. Это чисто "этические" части и пишутся только для понятности, как можно увидеть в моём примере. Поэтому если видите метод с приставкой get - знайте, что через этот метод можно получить какое то значение, например из какой либо переменной. А если же видите set - то сразу понимайте, что через параметры этого метода можно передать значение какой либо переменной. Делается это, главным образом, для защиты. Например, что бы сторонний программист не мог передать переменной отрицательное значение (с минусом). То есть, там делаются всяческие проверки. Обратите внимание, что переменная на которые делаются геттеры и сеттеры обязательно должна быть private, иначе от этого не будет никакого смысла т. к. переменной можно будет передать значение и без них (get, set).
ОМ
Олег Мамин
1 018