Oi Willian, tudo bem?
Desculpe a demora em retornar.
Ótima pergunta! Na verdade, os dois construtores são semelhantes, mas há uma diferença sutil entre eles.
No primeiro construtor que você mencionou, o professor optou por usar uma abordagem mais verbosa, atribuindo os valores dos parâmetros aos atributos da classe explicitamente dentro do corpo do construtor. Isso pode ser útil quando você precisa realizar algum processamento adicional antes de atribuir os valores aos atributos.
Já no segundo construtor, que você está acostumado a ver ao longo do curso, a atribuição é feita diretamente nos parâmetros do construtor usando a sintaxe "this". Essa abordagem é mais concisa e geralmente é utilizada quando não há necessidade de realizar nenhum processamento adicional.
Ambas as formas são válidas e funcionam corretamente. A escolha entre elas depende do contexto e da preferência do desenvolvedor.
Espero ter esclarecido sua dúvida.
Um abraço e bons estudos.