Дмитрий Городков

Добрый день! Спасибо за курс :))

В решении учителя есть такой код:

public Game(final Player p1, final Player p2, final Field field, final String name) {
    this.player1 = p1;
    this.player2 = p2;
    this.field = field;
    this.name = name;
    }

    public Player getPlayer1() {
        return this.player1;
    }

    public Player getPlayer2() {
        return this.player2;
    }

    public Field getField() {
    return field;
    }

    public String getName() {
        return name;
    }

не совсем ясно почему геттеры игроков возвращают значение через this.и в то же время геттеры Field and Name без this. Подскажите пожалуйста в чем разница и где можно почитать про это.

3 2

Вячеслав Ковалевский

По сущности нету никакой разницы. Просто продемонстрированы варианты доступа к полю через this и варианты доступа к поля не явно (Java все равно "добавит" "this." к доступу к полям класса).

0

Kos Kos

У самого возник подобный вопрос. Интуитивно всегда в подобных случаях пишу this. Но каждый раз такая форма записи кажется избыточной, что ли. Ведь и так понятно, что возвращаем значение поля обьекта.

Есть ли какие-то рекомендации, какая форма записи в подобных случаях предпочтительнее?

0

Вячеслав Ковалевский

обычно пишут без this просто для лакончиности, исключение конструкторры и/или сеттеры когда аргумент метода по имени совпадает с полем класса.

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Похожие вопросы

Ксения Андреева 09 июня 2020 →

Здравствуйте. Я обратила вниманеи, что где то опускают this при обращение к полям класса, а где то его испо...

Vladislav Nikolaenko 27 марта 2020 →

Я не совсем понял про доп.задание. Оно подразумевает рефакторинг за рамками моделей указанных в задании?

Павел Кунеев 26 марта 2020 →

Добрый день Помогите пожалуйста разобраться, почему в этом вопросе ответ 0? Ведь мы присваиваем значение 1....

Валерия Васильева 10 марта 2020 →

https://ru.hexlet.io/code_reviews/228337 Подскажите,что не так c плеером?

Андрей Дулмаев 08 марта 2020 →

Чет я запутался: если я создам Point p = new Point(0, 0); а в классе Point конструктор: public Point(final ...