首页 > 解决方案 > 游戏中的Java Abstract VS Interface?我应该使用哪个?

问题描述

当我想要创建多个 NPC 和项目时,当我希望他们执行相同的操作时,哪个更好,假设所有 NPC 都会移动 () , checkCollide() 而有些有自己独特的行为,例如 trade() , questGiving ( )? 我目前正在使用抽象,因为我不太熟悉接口的工作原理以及为什么它们比抽象类更优越

标签: javainterfaceabstract-class

解决方案


作为 Donat 答案的补充,接口还允许您的类彼此之间更加解耦,这通常意味着您的代码将更容易扩展。例如,如果您想稍后添加新类型的 NPC,您可以在接口契约上增加新类,甚至创建新接口。你甚至可以开始考虑使用设计模式,包括做出这样的决定,比如装饰器设计模式。


推荐阅读