我正在设计一款游戏,但我不能完全理解继承结构.我通常相当擅长它,但这个只是有太多的重叠,我无法决定这一切.
我正在寻求模拟帆船 – 想想帆船时代.因此,据推测,一切都延伸到船只类.
然后有几种类型的船只风格:划船(厨房,独木舟),方形钻机,前后钻机,具有不同的行为.其中每一个都进一步细分为其他几种类型.我无法确定这应该是Vessel的一系列接口还是扩展.还要注意,可能会有一些交叉(船只可以划船和方形装配),这让我想到界面?
船舶也有不同的行为:商船,战争人员,私人船员,海盗.我真的无法确定这应该是一个接口还是另一个类的扩展.但是,在这种情况下没有类型的交叉.
最后,个别船只可以有几种行为.商人可能在车队(自卫)或独立(逃跑).战争中的人几乎总是攻击,除非严重失控……但可能在舰队,中队或独立工作.私人和海盗只会在较弱的情况下进行攻击 – 通常是独立但偶尔成对出现.我假设这也应该是一个界面呢?
我的大问题是,每种风格的船(护卫舰,战舰等)几乎都可以完成任何这些角色,所以我无法构建一个简单的实体继承结构.护卫舰不能延长战争,因为有些人是私人战士. Sloop不能伸展方形装备,因为有些装备是前后装配的. etcetc.
任何想法都会受到赞赏,我有点松散的结局.
谢谢