Cadastrar Categoria e SubCategoria

Olá !!!

Estou com uma dúvida conceitual. (O cadastro da categoria está funcionando sem erros.)

tenho as seguintes classes:

class Categoria{
     int id;
     string nome;
     int categoriaPaiId;
}
class CategoriaDao{
     public void cadastrar(){};
     public void atualizar(){};
     public void excluir(){};
     public void listar(){};
}

A parte de cadastro de categoria é fácil. A dúvida é:
é necessário criar classes para a SubCategoria ou eu posso reaproveitar a classe Categoria para efetuar o cadastro da SubCategoria??

(parece besta, mas fiquei com dúvida)

Obrigado pela atenção

Eu acho que não tem problema, contanto que a Categoria tenha uma referência para a sua Categoria Pai… conceito de árvore… tudo começa em um nó (raíz) e se expande para os filhos, que são um nó também…