Другие языки программирования и технологии
В чём различие get и set в Java?
Никак не могу понять, в чём различие get и set? Я чайник, так что объясните наиболее простым языком. Заранее благодарю.
private int value;
public int getVal() {return value;}
public void setVal(int v) {value = v;}
set устанавливает значение приватного поля, get возвращает значение приватного поля
public int getVal() {return value;}
public void setVal(int v) {value = v;}
set устанавливает значение приватного поля, get возвращает значение приватного поля
Семен прав, это формальность...
void getInt(int a) {this.a=a;}
int setInt() {return this.a;}
будет работать как отче, только люди будут путатся
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).
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).
Похожие вопросы
- C# get и set
- Аналог C#-ского get и set в C++ есть? Или там просто надо в классах писать функции типа GetMyValue и SetMeValue?
- Тупые вопросы по C#) Конструкторы, set, get.
- Что конкретно пишут на языке Java? Над чем работают ?
- Проблема с Java
- В чем различие ключевых слов public и static в java? И объясните конкретно , что такое экземпляр класса.
- JAVA - Server - Socket как обнаружить разрыв соединения.. Метод какой-нить есть?
- Java для серверных приложений !!!
- *.bat - Не работает set /a внутри цикла for!
- Можете привести 5ть готовых примеров-решений, выполненных на JAVA ?