抽象类与接口的选择 — 程序设计选择题
题目
某系统需要描述「鸟类」这一类对象的公共属性与骨架行为,同时希望为多种不相关的类(如鸟、飞机、超人)统一规定「能飞行」这一能力契约。关于抽象类与接口的选型,下列说法正确的是:
A. 鸟类用接口定义,飞行能力用抽象类定义,因为接口表达血统,抽象类表达契约
B. 鸟类用抽象类定义,飞行能力用接口定义,因为抽象类表达是什么的血统,接口表达能做什么的契约
C. 两者都必须用抽象类,因为接口不能被类实现
D. 两者都必须用接口,因为抽象类不能包含成员变量