Definir objetos mais complexos a partir de objetos mais simples é uma abordagem muito comum em modelagem virtual de objetos reais. Por exemplo, tendo construído as primitivas geométricas cone e esfera, podemos representar um “sorvete de casquinha” como a união de uma instância de cone e outra de esfera. Em aplicações como esta, podemos listar algumas características da modelagem orientada a objetos, conforme as enumeradas a seguir:
I. Permitir a criação e o uso de novos objetos (primitivos ou compostos).
II. Flexibilidade na restrição de determinados objetos na composição.
III. Diferençar objetos compostos dos objetos primitivos.
IV. Não alterar o modo que o cliente processa cada objeto.
Assinale a alternativa formada somente pelas características atendidas pelo padrão de projeto “Composite”.