composite类带有几个特定的子类