ora, se ho ben capito, tu hai questa situazione:

classe funzioni:
- metodo path
- metodo "ampia"

classe dipendente:
- metodo lettura file

se provi a far ereditare alla classe dipendente, come prima avevi fatto, la classe funzioni, questa sarà:

classe dipendente:
- metodo path
- metodo "ampia"
- metodo lettura file

Perciò il tuo approcio al problema non penso sia corretto, se mi potessi spiegare meglio cosa deve fare il programma magari posso aiutarti un po' di più...