Olá Akhenaton, tudo bem com você?
Obrigado por compartilhar seu código com a comunidade do fórum. Da forma como você implementou está correto, como não tem um tipo de documento especificado para os 20 dígitos, apenas a impressão dele já é suficiente, não é necessário uma máscara.
Vale ressaltar que o exemplo da classe DocQualquer foi apenas didático, para evidenciar que a classe Documento é uma fábrica (factory) de objetos, dessa forma, ela conseguirá instanciar qualquer classe a depender de uma condição: 11 dígitos para a criação de um objeto do tipo CPF, 14 para a criação de um objeto do tipo CNPJ e 20, para quaisquer outros documentos - a título de curiosidade, um documento que tem 20 dígitos é a numeração de um processo jurídico.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!