Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Eccolo qui, è in FileHandler. Conversion estende fileHandler e HTTPtoIIS estende Conversion.
    codice:
    public abstract class FileHandler {    List<HTTPFormat> parsed = new LinkedList();
        String filePath;
        
        public List<HTTPFormat> getParsed() {
            return parsed;
        }
    
    
        public void setFilePath(String filePath) {
            this.filePath = filePath;
        }
        
    }

  2. #12
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Ok, mi mancava che Conversion estendesse FileHandler... allora, premesso che così non può funzionare perchè la variabile filePath su cui lavora il metodo invocato sull'oggetto HTTPtoISS è diversa dalla variabile (nulla) su cui sta lavorando HTTPLogHandler, mi sa che stai facendo un macello con le gerarchie.

    Provo a vedere se ho capito le gerarchie:

    FileHandler viene estesa da Conversion e da FileLoader(?)
    Conversion viene estesa da HTTPtoISS
    FileLoader viene estesa da HTTPLogHandler

    Il punto di domanda l'ho messo perchè non ne sono sicuro... se non è così, esplicita meglio la classe FileLoader.
    Se è così, tutte le classi su cui stai lavorando sono (per ereditarietà) dei "FileHandler". Corretto? Ammesso che sia così devo dire che la situazione è parecchio ingarbugliata (e, probabilmente, nemmeno corretta da un punto di vista semantico).

    Detto questo veniamo al problema.

    HTTPtoISS deriva (alla lontana) da FileHandler (ne usa anche il metodo ereditato setFilePath)... questo significa che HTTPtoISS possiede una sua copia privata della variabile filePath ed è questa che viene modificata dalla classe di test...

    Dato, però, che HTTPtoISS usa un'istanza di HTTPLogHandler e che quest'ultima deriva da FileLoader che a sua volta deriva (credo) da FileHandler, anche questa istanza possiederà una sua copia privata di filePath... la quale non viene inizializzata da nessuna parte e produce l'eccezione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.