Наследование и базовые классы
В проекте Engine уже есть семь классов: HealingPotion, Item, Location, Monster, Player, Quest иWeapon. Некоторые свойства в них повторяются. У предмета, оружия и лечебного зелья есть ID, Name и NamePlural. У игрока и монстра — CurrentHitPoints и MaximumHitPoints. Теперь разберёмся, как объединить общие свойства с помощью наследования и когда это имеет смысл. Оружие и лечебное зелье — разновидности предметов. У них есть общие характеристики, но есть и особенности: оружие наносит урон, а зелье восстанавливает здоровье...