组合表达的是“包含”关系,而继承表达的是“属于”关系。 继承虽然是OOP中的一大特性,但是要慎用。为了判断到底是继承还是组合,一个简单的办法就是考虑一下,是否需要从新类上溯造型回基础类。若必须上溯,则需要继承,若不需要上溯造型,则需要提醒自己防止继承的滥用。