Executando verificação de segurança...
1

Esse find() procura pessoas onde?

De fato poderia ter constantes (final) para dar nomes aos números para o tipo de pessoa, se o requisito indicar isso. Também pode ser um erro também colocar os dois tipos (ou outros, e tem) ter mais de um tipo na mesma classe, então Pessoa seria abstrata para apenas classes concretas de cada tipo herdar, se o requisito pedir, e se ele for real, costuma pedir.

Carregando publicação patrocinada...
1

O método estático find que eu dei de exemplo poderia buscar na base por pessoas.

No padrão Active Record, é normal você mesclar persistência com regras de negócio do domínio.

Herança é um inferno. Composição geralmente resolve. Sendo assim, um tipo pode conter muitos outros.
O que são os fields senão outros tipos?!