抽象类与接口的选择 — 程序设计选择题
题目
某系统需要描述一批图形对象:一方面所有图形都有共同的名称与绘制规则(但具体实现各不相同),另一方面其中部分图形还需支持统一的「可缩放」能力,该能力以方法契约形式定义、并允许不同类各自实现。关于用抽象类还是接口来建模,下列说法正确的是:
A. 「图形」这一共同血统应定义为抽象类,「可缩放」能力应定义为接口
B. 「图形」这一共同血统应定义为接口,「可缩放」能力应定义为抽象类
C. 两者都应定义为抽象类,因为抽象类支持多继承
D. 两者都应定义为接口,因为接口可以包含构造器