una cosa che risalta subito all'occhio è questo

class user extends gestione{
//questa classe contiene metodi per loggarsi, recuperare informazioni utenti e via dicendo
//il costruttore istanza la classe user
}

c'è gia un errore di progettazione, sei sicuro che utente debba essere esteso da una classe gestione??? Gestione è un sotto tipo di utente??