public function persist(Pessoa $pessoa)
 {
     try {
         $this->db->beginTransaction();
         $query = "insert into pessoa (nome,idade,importancia,cpf,cnpj,endereco) values (:nome,:idade,:importancia,:cpf,:cnpj,:endereco)";
         $stmt = $this->db->prepare($query);
         $stmt->bindValue(":nome", $pessoa->getNome());
         $stmt->bindValue(":idade", $pessoa->getIdade());
         $stmt->bindValue(":importancia", $pessoa->getImportancia());
         if ($pessoa instanceof PessoaJuridica) {
             $cnpj = $pessoa->getCnpj();
         } else {
             $cnpj = null;
         }
         if ($pessoa instanceof PessoaFisica) {
             $cpf = $pessoa->getCpf();
         } else {
             $cpf = null;
         }
         $stmt->bindValue(":cpf", $cpf);
         $stmt->bindValue(":cnpj", $cnpj);
         $stmt->bindValue(":endereco", $pessoa->getEndereco());
         $stmt->execute();
     } catch (\PDOException $e) {
         $this->db->rollBack();
         die("Erro: " . $e->getMessage());
     }
 }
 public function __construct($nome, $idade, $importancia, $cpf)
 {
     parent::__construct($nome, $idade, $importancia);
     $this->cpf = $cpf;
 }