A-tit indd


Подкласс песочница (Subclass Sandbox) —  Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet173/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   169   170   171   172   173   174   175   176   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

234
Подкласс песочница (Subclass Sandbox) — 
Паттерны программирования игр
Хорошо бы выделить каждому разработчику, ответ-
ственному за создание игрового процесса и реализацию 
суперсил, набор примитивных элементов! Хотите «зву-
чащую» суперсилу? Вот вам функция 
playSound()
. Хо-
тите визуальных частиц, витающих в воздухе? Держите 
spawnParticles()
. Убедитесь, что операции охваты-
вают все необходимое и вам не придется включать слу-
чайные заголовки 
#include
и совать свой нос в ненуж-
ные вам части кода.
Мы сделаем все такие операции 
защищенными мето-
дами базового класса
Superpower
. Помещая их в базо-
вый класс, мы даем каждому дочернему классу прямой 
доступ к этим методам. И делая их защищенными (и, ско-
рее всего, не виртуальными), мы гарантируем: они суще-
ствуют именно для того, чтобы 
вызываться
подклассами.
Когда у нас будут игрушки, нам понадобится место, 
где с ними играть. Для этого мы создадим 
метод песоч-
ницы
, абстрактный защищенный метод, который долж-
ны будут реализовывать все дочерние классы. Таким об-
разом, чтобы создать новый тип суперсилы, вы:
1) создаете новый класс, который наследует от 
Superpower
;
2) переопределяете метод песочницы 
activate()
;
3) реализуете тело этого метода вызовом защи-
щенных методов, которые предоставляет класс 
Superpower
.
Мы решаем проблему избыточности кода, помещая 
возможные операции на настолько высокий уровень, 
насколько это возможно. Если мы обнаружим один 
и тот же код в большом количестве подклассов, мы пе-
реместим его на уровень выше в класс 
Superpower
как 
новую операцию, которую можно использовать.
Мы решили нашу проблему зависимости путем со-
здания связанности всего с одним местом. Сам класс 
Superpower
будет связан со всеми игровыми систе-
мами, но сотни производных классов не будут — они 



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   169   170   171   172   173   174   175   176   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish