Запутался. Не могу понять, когда нужно использовать интерфейсы, а когда абстрактные классы? К примеру, если создавать Car/Weapon/Food и т.д. - у всех есть общие свойства и методы, но некоторые могут отличаться. По логике - нужен абстрактный класс, или нет? Когда и зачем тогда интерфейс нужен.. Хм.