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.
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?!