— Так. С классами мы разобрались в прошлый раз. Сегодня я хочу рассказать тебе, как создавать объекты. Это очень просто: пишем ключевое слово new и имя класса, объект которого хотим создать:
Пример |
---|
|
|
|
— Так я это уже слышал.
— Я знаю, поэтому слушай дальше.
— При создании объекта в скобочках можно передавать различные параметры. Об этом я расскажу сегодня, но чуть попозже. Давай рассмотрим класс Cat:
Код на Java | Описание |
---|---|
|
name – это переменная класса. У нее модификатор доступа public, поэтому она видна везде в проекте.
|
Метод getName – это getter (произносится гЭттэр), т.е. он возвращает значение переменной-класса name . Имя метода строится по принципу get + «имя переменной с большой буквы». |
|
Метод setName – это setter (произносится сЭттэр), т.е. он используется для присваивания нового значения переменной-класса name . Имя метода строится по принципу set + «имя переменной с большой буквы». В этом методе имя параметра совпадает с именем переменной класса, поэтому мы ставим this перед именем переменной. |
— А это что еще за геттеры и сеттеры такие?
— В Java принято скрывать переменные от доступа из других классов. Обычно переменные, объявленные внутри классов, имеют модификатор private.
— Чтобы другие классы могли менять значения таких переменных, для каждой из них создается пара методов: get и set. Задача метода get вернуть текущее значение переменной тому, кто его вызвал. Задача метода set установить новое значение переменной.
— А в чем смысл?
— Если мы не хотим, чтобы кто-то менял значения переменных наших объектов, мы можем просто не писать метод set для него, или сделать его private. Также в этот метод можно добавить дополнительные проверки данных. И если переданное новое значение неверно, то ничего не менять.
— Ясно.
— Т.к. переменных в классе может быть много, то методы get и set обычно имеют в своем имени имя той переменной, с которой работают.
— Если переменная называется name, то методы setName и getName. И т.д. по аналогии.
— Ясно. Понятный, в общем-то, подход.
— Вот тебе еще пара примеров работы с новосозданным объектом:
Шаг | Код | Описание |
---|---|---|
1 |
|
Создаём объект типа Cat |
2 |
|
Сохраняем ссылку на объект в переменную catVaska , имеющую тип Cat |
3 |
|
Заполняем объект данными: имя, возраст, вес |
4 |
|
Вызываем метод объекта |
5 |
|
Взаимодействие объектов. |