如果多个类共享数据而非行为,应该创建这些类可以包含的公用对象;如果多个类共享行为而非数据,应该让他们从公共的基类继承而来,并在基类里定义公用的子程序;如果多个类既共享数据也共享行为,应该让他们从一个共同的基类继承而来,并在基类里定义公用的数据和子程序;当你想由基类控制接口时,使用继承;当你想自己控制接口时,使用包含。