Статические функции (ООАиП ООП Объектно ориентированное мышление и программирование)

Статические функции

Статические функции также как статические переменные не тиражируются для каждого отдельного объекта (экземпляра класса), то есть они создаются в единственном числе для всех экземпляров класса и хранятся в одном месте оперативной памяти, а не в различных для каждого объекта (если они не являются статическими).
Для того, чтобы объявить функцию или переменную статической необходимо поставить перед ней ключевое слово static.
Статические переменные и функции не удаляются после удаления экземпляра класса. Например статические переменные могут хранить количество экземпляров класса, либо какие либо данные которыми необходимо обмениваться между экземплярам одного класса, либо хранить общие данные всех экземпляров одного класса.
Запусать статическую фунцию можно как обычную, через экземпляр класса, либо ссылку, либо указатель на экземпляр класса.
Кроме того статическую функцию можно запустить указав имя класса, два двоеточия, далее имя статической функции и открывающие и закрывающие круглые скоби, точка с запятой. Такая форма запуска невозможная для нестатических методов.
Таким образом статическую функцию можно запустить указав только имя класса и два двоеточия, минуя создание экземпляра класса.
Домашнее задание: прочитать главу 11 стр. 500-516 и разобрать примеры

Автор: к.п.н. Румянцев Сергей Александрович

← Назад в раздел