java - 游戏中的Java Abstract VS Interface?我应该使用哪个?
问题描述
当我想要创建多个 NPC 和项目时,当我希望他们执行相同的操作时,哪个更好,假设所有 NPC 都会移动 () , checkCollide() 而有些有自己独特的行为,例如 trade() , questGiving ( )? 我目前正在使用抽象,因为我不太熟悉接口的工作原理以及为什么它们比抽象类更优越
解决方案
作为 Donat 答案的补充,接口还允许您的类彼此之间更加解耦,这通常意味着您的代码将更容易扩展。例如,如果您想稍后添加新类型的 NPC,您可以在接口契约上增加新类,甚至创建新接口。你甚至可以开始考虑使用设计模式,包括做出这样的决定,比如装饰器设计模式。
推荐阅读
- c - 如何在 NativeCall (Perl6) 中正确使用 char 和 wchar_t
- hazelcast - Hazelcast 集群成员可以存在于两个不同的组中吗?
- css - 使用源 URL(iOS 和 Android)在 Xamarin 表单中的 WebView 中包含 CSS
- powershell - 从 txt 文件中获取变量?
- javascript - 编辑表格不更新
- java - 编辑 EML 字符串
- python-3.x - 当数据的列是每个月的每一天时,如何绘制条形图?
- php - (Laravel)如何在模型中关联外键的外键
- reactjs - 如何从外部访问 localhost asp.net core web api
- excel - 如何使用分组填充多对多值(非 VBA)