When to use interfaces compared to Abstract classes?
本问题已经有最佳答案,请猛点这里访问。
我理解这两者之间的技术差异,但我不明白为什么一个比另一个更好用?有人能给我举一个例子来帮助我区分一个优势胜过另一个吗?
例如:如果我正在做一个RPG游戏,我正在做一些治疗项目。UML图是什么样子的?我会为项目使用接口,然后修复项目或抽象类吗?
何时使用接口
接口基本上是用来继承行为的,我们知道接口只能有抽象方法。当一个类实现这个接口时,它必须实现它的所有抽象方法(除非类本身是一个抽象类),因此它按照接口定义的方式进行行为。
例如,如果希望类的行为像线程一样。您需要实现
何时使用抽象类
我们知道抽象类既可以有抽象的方法,也可以有具体的方法。
同样的例子,如果您有5个任务要完成,但是对于一个任务,有一个默认的方法可以完成,那么您希望定义它的主体,并且在接口中不能这样做。
在本例中,我们将创建一个抽象类。放置4个抽象方法和一个具体方法,这些方法将直接由其子类继承,他们不需要自己定义它。但是,如果他们愿意,他们可以覆盖它的功能。
还要记住,一个类一次只能扩展一个抽象类。