当两个类有着共同方法,共同的属性,子类实际上是父类的一个特殊形式,对于子类的特殊性则通过实行抽象方法去实现,应该定义个抽象类比较合理,大大减少了重复代码量。
而如果只是规则相同,例如都需要实现相同的方法,方法内容是不同的,则应该使用接口比较合理,实现了多态。
总而言之,接口与抽象类的区别主要在于使用的动机,而不在于其本身。而一个东西该定义成抽象类还是接口,要根据具体环境的上下文决定。
再者,我认为接口和抽象类的另一个区别在于,抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。
本文探讨了在面向对象编程中抽象类与接口的区别。当多个类具有共同的方法和属性,并且子类是父类的一种特殊情况时,建议使用抽象类;而当多个类需要遵循相同的规则但实现方式不同,则更适宜采用接口。文章还强调了选择抽象类或接口取决于具体的应用场景。
4万+

被折叠的 条评论
为什么被折叠?



