8
我应该避免使用对象继承来开发游戏吗?
使用Unity开发游戏时,我更喜欢OOP功能。我通常创建一个基类(大多是抽象的),并使用对象继承将相同的功能共享给其他各种对象。 但是,我最近听到某人的消息,必须避免使用继承,而应该改用接口。所以我问为什么,他说:“对象继承当然很重要,但是如果有很多扩展对象,类之间的关系就深深地耦合了。 我使用的是一个抽象基类,像WeaponBase和创建如特定的武器类Shotgun,AssaultRifle,Machinegun类似的东西。有这么多优点,我真正喜欢的一种模式是多态。我可以将子类创建的对象当作基类一样对待,这样可以大大减少逻辑并使其更可重用。如果需要访问子类的字段或方法,则回退到子类。 我不想定义字段相同,在不同的类,常用的像AudioSource/ Rigidbody/ Animator和很多我这样定义成员字段的fireRate,damage,range,spread等等。同样在某些情况下,某些方法可能会被覆盖。因此,在这种情况下,我使用的是虚拟方法,因此基本上可以使用父类中的方法来调用该方法,但是如果子级中的逻辑不同,则可以手动覆盖它们。 因此,是否应将所有这些东西当作坏习惯丢弃?我应该改用接口吗?
36
unity
architecture
oop