Нет. Агрегация это когда один объект является мембером другого.Newman писал(а):Агрегация - это значит добавить в класс Creature поле type, к примеру, определяющее, ГГ это или монстр?
Сейчас в wq цепочка наследования выглядит так:
GameObject->Unit->Monster->NeutralAI->GiantRat
А для игрока:
GameObject->Unit->Player
Что бы мутировать крысу во что-то другое, мне нужно создать
новый объект. И как-то переносить парамерты и возможно инвентарь.
Если было так:
GameObject->Unit(Creature)->Monster->NeutralAI
Creature->GiantRat
то бишь внутри unit было бы поле Creature*
которое полностью заведовало бы параметрами,
и методы по работе с параметрами делегировались из unit в creature.
Тогда какой-нить ray of mutation мог бы спокойно замнеить
creature в unit монстра на другой, запомнив старый, и монстр бы изменился.