Есть два варианта объявления конструктора:
public class MyClass() {
int a, b, c;
MyClass (int a, int b, int c) {
this.a=a;
this.b=b;
this.c=c;
}
}
или
public class MyClass() {
int a, b, c;
MyClass (int x, int y, int z) {
a=x;
b=y;
c=z;
}
}
Мне, как новичку, вариант с this кажется более наглядным, но какая форма записи предпочтительнее и более профессиональна? И есть ли какие-либо подводные камни при использовании this таким способом?
Первая форма встречается почти везде. Вторая форма записи встречается редко.
Смысл в том, что необходимо именовать переменные осмысленно, то есть, если у нас должно быть поле класса, хранящее количество студентов, то это поле логично назвать numberOfStudents
. Естественно, создавая конструктор и передавая в него аргументы, логично, что параметр тоже следует назвать numberOfStudents
, чтобы Вы или Ваши коллеги, используя этот класс, понимали ЧТО они передают в конструктор.
В редких случаях все же используются разные имена, но это всегда аргументировано. Например, когда внутри класса некоторое поле используется с определенной целью, но если назвать точно так же параметр в конструкторе, то другим разработчикам не будет понятно, какую величину передавать.
"Подводных камней" при инициализации, что одним, что другим способом, нет.
Первый вариант будет более правильный, потому что имена параметров доступны из другого класса. Если в классе у вас есть свойство count, а в параметре оно указано как v, то человек, который будет пользоваться этим классом может не понять, что ему нужно передавать. Этим человеком можете оказаться и вы, если проект ведется долго и он достаточно большой
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Хочу попробовать поработать с Jackson так как много слышал, вот открыл в IntelliJ IDEA, открыл вот этот туториал
Имеются 2 TextView: inText и outTextВ inText пишу строку, и он должен сразу же появиться в outText