Страницы

Поиск по вопросам

четверг, 13 декабря 2018 г.

this при объявлении конструктора Java

Есть два варианта объявления конструктора:
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, чтобы Вы или Ваши коллеги, используя этот класс, понимали ЧТО они передают в конструктор.
В редких случаях все же используются разные имена, но это всегда аргументировано. Например, когда внутри класса некоторое поле используется с определенной целью, но если назвать точно так же параметр в конструкторе, то другим разработчикам не будет понятно, какую величину передавать.
"Подводных камней" при инициализации, что одним, что другим способом, нет.

Комментариев нет:

Отправить комментарий