Ed
anteontem
Para resolver essa questão, precisamos analisar as alternativas propostas em relação ao uso de classes abstratas e herança, que são conceitos fundamentais da programação orientada a objetos. A descrição do problema sugere que a startup deseja criar uma estrutura que permita a adição de novos tipos de documentos no futuro, mantendo a lógica de extração de texto separada para cada tipo. Isso é um indicativo de que uma abordagem com classes abstratas e herança seria a mais adequada. Vamos analisar as alternativas: a) Criar uma classe concreta ProcessadorDocumento e usar composição para incluir funcionalidades específicas de PDF e imagem. - Essa abordagem não utiliza classes abstratas e não permite a flexibilidade desejada para extensões futuras, pois a classe concreta não pode ser estendida facilmente. b) Desenvolver duas classes independentes ProcessadorPDF e ProcessadorImagem sem uma classe base comum. - Embora isso funcione, essa abordagem não aproveita a herança e não permite uma interface comum, o que dificultaria a adição de novos tipos de documentos no futuro. Diante disso, a alternativa que melhor se alinha com a necessidade de uma arquitetura robusta e extensível, utilizando classes abstratas e herança, não está claramente apresentada nas opções. No entanto, a alternativa (a) é a que mais se aproxima do conceito de abstração, mesmo que não seja a ideal. Portanto, a resposta correta, considerando as opções apresentadas, é: a) Criar uma classe concreta ProcessadorDocumento e usar composição para incluir funcionalidades específicas de PDF e imagem.