Fiquei um pouco confuso, em certa parte do vídeo no método construtor o professor trocou a tipagem do atributo $cpf de "string" por "CPF". Esse comportamento se repete em outros atributos que são tipados como os nomes deles mesmo.
Fiquei um pouco confuso, em certa parte do vídeo no método construtor o professor trocou a tipagem do atributo $cpf de "string" por "CPF". Esse comportamento se repete em outros atributos que são tipados como os nomes deles mesmo.
Olá Marcelo tudo bem?
Isso é muito comum quando você pretende enriquecer o domínio da sua aplicação, desacoplar o código ou aplicar o princípio da responsabilidade única para melhorar o processo de manutenção.
Na programação orientada a objetos esse comportamento é conhecido como composição. Onde uma classe é composta por um atributo que é um objeto de outra classe.
Por exemplo:
Podemos ter a classe Aluno que tem os atributos, nome, email, e cpf. Onde atributo cpf pode ser um objeto de uma classe chamada CPF e então você poderá tipar o atributo cpf como sendo da classe CPF. Pra isso você precisa ter criado a classe CPF no seu projeto.
Assim como também o email, ele pode tanto ser uma string como também pode ser um objeto de uma classe chamada Email. Novamente pra isso, você precisa criar a classe Email e então tipar o atributo.
Isso permite que você concentre as regras envolvendo a validação do CPF por exemplo em uma única classe melhorando a manutenção do código.
As vezes é confuso no início, mas coloque em prática e reveja os vídeos que aos poucos as ideias irão fazendo mais sentido.
Abraços!