1
resposta

Tipou o atributo cpf como "CPF" e não como string

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.

1 resposta

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!