Класс или функция: когда что
Новички часто спорят: писать класс или обойтись функцией? На практике ответ зависит от того, есть ли у вас состояние.
Функция — когда есть вход и выход
Если задача сводится к «получить данные → обработать → вернуть результат», обычно хватает функции. Она проще, её легче тестировать.
Большинство небольших задач решаются набором функций без всяких классов.
Класс — когда есть состояние
Класс нужен, когда данные и действия над ними идут вместе и «живут» долго. Пример: игрок с именем, здоровьем и методами «атаковать», «лечиться».
Класс объединяет данные (атрибуты) и поведение (методы) в один объект.
Признаки, что пора делать класс
Вы передаёте одни и те же несколько значений во множество функций — их удобно собрать в объект. Нужно создать много похожих сущностей — удобно иметь шаблон (класс).
Появляется понятие с собственным жизненным циклом: создаётся, меняется, используется.
Не усложняйте раньше времени
Создавать класс ради одной функции внутри — лишнее. Начинайте с функций и вводите классы, когда они действительно упрощают код.
Простота важнее «правильности по учебнику».
Частые вопросы
Можно ли писать программы совсем без классов? Да, многие скрипты так и устроены.
С чего начать изучать ООП? С понятия объекта: данные + действия вместе. Базу удобно освоить в тренажёре «Дрон Кодер», а потом перейти к классам.
Начать игру бесплатно