106 |
С т р а н и ц а
Глава 6. Объекты, Классы и
Наследование
В предыдущей главе мы обсудили функции как способ связать вместе строки кода
имеющие одно отношение. Мы поговорили о том, как функции абстрагируются от
деталей осуществления, и как функция sqrt() не требует от вас понимания её
внутренней работы, чтобы применить её для нахождения корня. Всё это было
хорошо, преимущественно потому что это экономит время и усилия программиста,
так как делает саму работу по нахождению квадратного корня легче. Этот принцип
абстрагирования поднимется здесь снова, когда мы будем обсуждать объекты.
Вкратце сказать, объекты связывают вместе методы и относящиеся к ним данные в
одну структуру. И эти структуры называются
классами. Главная идея использования
объектов заключается в создании представления кода для всего, что есть вашей
игре. Каждый представленный в коде объект будет иметь данные и связанные с
ними функции, которые оперируют этими данными. Так что у вас будет объект для
представления экземпляра вашего игрока и относящихся к нему функций, которые
позволяют игроку
прыгать()
,
стрелять()
и
братьПредмет()
. А также у вас будет объект
для представления каждого экземпляра монстра и относящихся уже к нему
функций, таких как
рычать()
,
атаковать()
и возможно
преследовать()
.
Объекты являются типом переменных и будут оставаться в памяти так долго, как
вы сами будете держать их там. Вы создаёте экземпляр объекта один раз, когда
создано то, что он представляет в вашей игре. И вы аннулируете экземпляр
объекта, когда “умирает” то, что он представлял в вашей игре.
Объекты могут быть использованы для представления того, что находится в игре, а
также для представление любых других типов вещей. Например, вы можете
хранить изображение как объект. Поля данных будут шириной изображения, его
высотой и набором пикселей внутри него. Строковые типы С++ также являются
объектами.
Совет
Достарыңызбен бөлісу: