Напоминание: что такое массив?
Массив — это набор ячеек памяти, способных хранить много значений одного типа.
В этом примере массив names хранит 6 строк. Каждая ячейка массива — это переменная, которая содержит строку.
Каждая ячейка — переменная
Если массив работает как набор переменных, то каждая ячейка массива по сути является переменной. А значит, после names[i] можно ставить точку и обращаться к методам:
names[i] — это строка. А у строк есть метод length(). Всё логично!
Массив объектов
С объектами это работает точно так же, как с переменными. Можно создать массив, где каждая ячейка — это объект какого-либо класса.
Если массив dogs работает как набор объектов, то каждая ячейка (dogs[0], dogs[1], dogs[2]) по сути является объектом. А значит, после таких объектов можно ставить точку и обращаться к их свойствам и методам.
Вызов методов у объектов в массиве
После квадратных скобок с номером ячейки можно обращаться не только к свойствам, но и к методам:
Семь собак — семь команд. Каждая собака гавкнет по команде.
Упаковываем повторяющиеся действия в цикл
Когда собак много, писать 7 одинаковых строк утомительно. На помощь приходит цикл:
Все семь собак гавкнут по одному разу. А если собак станет 100 — достаточно поменять число в условии цикла.
Динамический массив объектов
Иногда мы не знаем заранее, сколько объектов понадобится. На помощь приходит dyn_array (динамический массив).
Динамический массив сам следит за своим размером. Можно добавлять новые объекты в любом количестве — массив подстроится.
Итог
- Массив может хранить объекты любого класса.
- Каждая ячейка массива — это полноценный объект.
- К свойствам и методам объекта в массиве обращаемся через
массив[индекс].свойство. - Повторяющиеся действия с массивом удобно упаковывать в цикл.
- Динамический массив (
dyn_array) позволяет добавлять объекты во время выполнения программы.