Java_接口&抽象类

1.实现继承与接口继承

 

实现继承通常情况下表现为对抽象类的继承,而其与接口继承在规则上有以下几点归纳:

 

— 抽象类适合于有族层概念的类间关系,而接口最适合为不同的类提供通用功能。

 

— 接口着重于CAN-DO关系类型,而抽象类则偏重于IS-A式的关系。

 

— 接口多定义对象的行为;抽象类多定义对象的属性。

 

— 如果预计会出现版本问题,可以创建“抽象类”。例如,创建了狗(Dog)、鸡(Chicken)和鸭(Duck),那么应该考虑抽象出动物(Animal)来应对以后可能出现马和牛的事情。而向接口中添加新成员则会强制要求修改所有派生类,并重新编译,所以版本式的问题最好以抽象类来实现。

 

— 因为值类型是密封的,所以只能实现接口,而不能继承类。

 

关于实现继承与接口继承的更详细的讨论与规则,请参见7.4节“面向抽象编程:接口和抽象类”。

 

接口继承是出自设计模式中的一个概念。

接口继承,又称子类型化。描述了一个对象什么时候能够被用来替代另一个对象。

 

 

接口和多态都为JAVA技术的核心。

你可能感兴趣的:(Java_接口&抽象类)