"ОК. Последният път, когато се занимавахме с класове. Днес бих искал да ви кажа How да създавате обекти. Много е лесно. Пишете ключовата дума new и след това името на класа, от който искате да създадете обект."

Пример
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

— Вече знам това.

"Знам, че го правиш. Продължавай да слушаш."

„Когато създавате обект, можете да предавате различни аргументи в скоби. Повече за това по-късно днес. Засега нека да разгледаме класа Cat:“

Java code Описание
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
name е променлива на екземпляр. Има модификатор за публичен достъп, което го прави видим навсякъде в проекта.

Методът getName е метод за получаване. Връща стойността на името на променливата на екземпляра . Името на метода е получено от думата 'get' плюс името на променливата с главна първа буква.

Методът setName е сетер. Използва се за присвояване на нова стойност на името на променливата на екземпляра . Името на метода е получено от думата „set“ плюс името на променливата с главна първа буква. В този метод параметърът има същото име като променливата на екземпляра,с това .

"Какви са тези гетери и сетери ?"

"В Java е обичайна практика да се скриват променливи от други класове. Обикновено променливите, декларирани вътре в класове, имат частния модификатор. "

„За да се позволи на други класове да променят стойността на тези променливи, се създава двойка методи за всяка от тях: get и set . Методът get връща текущата стойност на променливата. Методът set задава нова стойност за променливата. "

— И Howъв е смисълът?

„Ако не искаме някой да променя стойността на променливата на екземпляра, можем просто да не създаваме зададен метод за нея or да го направим частен . Можем също да добавим допълнителни проверки на данните към метода. Ако предадената нова стойност е невалиден, нищо няма да бъде променено."

"Виждам."

„Тъй като един клас може да има много променливи, имената на методите get и set обикновено включват имената на променливата, с която работят.“

„Ако една променлива се нарича „име“, тогава методите ще се наричат ​​setName и getName и т.н.“

— Разбирам. Това изглежда доста разумно.

„Ето още примери за работа с новосъздаден обект:“

стъпка Код Описание
1
new Cat();
Създайте Catобект
2
Cat catOscar = new Cat();
Съхранявайте Catобект в променливатаcatOscar
3
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
Попълнете обекта с данни: име, възраст, тегло
4
catOscar.sleep();
Извикване на метод на обекта
5
catOscar.fight(catSmudge);
Накарайте обектите да си взаимодействат.

Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.