![](/img/trans.png)
[英]Should I declare properties as Interfaces or as Base classes (when they implement both)?
[英]Should I add interfaces for my simple game classes?
您的 class Character
專用於: NPC
(非玩家角色)、 Player
和Monster
,您想知道是否需要一個界面:
Monster
似乎是非玩家角色,它可能應該繼承自NPC
而不是Character
Player
和相應Character
的職責分開可能會很有趣。 所以你會在兩者之間有一個簡單的關聯,而不是 inheritance。一個直接的優勢是,玩家可以選擇喜歡的角色來模仿他/她。Colleague
接口,讓不同的類實現這個接口。 但是如果你的Colleagues
一定都是Characters
,你可以像你一樣依賴超類。更一般地說,如果你想解耦類,一個額外的接口是一種行之有效的方法。 如果您要開發一個要在許多不同游戲中重復使用的游戲引擎,您應該明確地考慮它們:您將擁有一個僅依賴於獨立於任何特定游戲的接口的引擎。 然后每個游戲都會選擇相關的類來實現接口。 但是對於您的具體情況,這似乎有點矯枉過正。
話雖這么說,您將面臨的主要挑戰是您最終會遇到難以發展的深層 class 層次結構。 這就是為什么游戲行業更喜歡實體-組件-系統模式,這種模式比 inheritance 更喜歡組合。但這是一個不同的故事,並且有關於該主題的完整書籍;-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.