多项选择题

A.编写一个所需要接口的类,然后令其与有着不同接口的类进行通信
B.可以使用继承来实现
C.可以使用组合来实现
D.必须同时使用继承和组合