Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Riferimenti a oggetti

  1. #1

    Riferimenti a oggetti

    Buona sera,
    espongo la mia domanda:
    Ho una classe logFile e una classe preProces che utilizza un oggetto della classe logFile creato con

    codice:
    logFile log=new logFile(nomefile);
    i metodi della classa preProc utilizzano il riferimento all'oggetto log.

    Tuttavia ho necessità che anche la mainClass possa accedere a log per cui nel main () ho eseguito lo stesso codice:

    codice:
    logFile log=new logFile(nomefile);
    Quello che mi succede è che, se creo nella Main un oggetto logFile e creo poi un oggetto preProces, il costruttore di logFile è invocato due volte(una quando creo logFile e una quando creo preProcess) e un'eventuale variabile static (static int SessionNumber) che incremento ogni volta che viene invocato un metodo della classe logFile (SessionNumber++) mi restituisce sempre gli stessi valori.

    io non vorrei creare l'oggetto logFile nel main, ma ho bisogno di invocare un metodo di tale classe sull'oggetto logFile creato da preProcess.

    Il mio professore diceva:"Se non sei capace di spiegare qualsiasi cosa, anche la più complicata, a tua nonna, allora non l'hai capita".

    Spero di essere stato chiaro nell'esposizione altrimenti credo di non aver capito bene il problema. Ad ogni modo qualsiasi commento o indicazione credo mi chiariranno le idee.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    Hai due possibilità:
    - aggiungi un metodo a PreProc che restituisce il Log da lui creato
    - crei il log nel main e lo passi (attraverso un metodo od il costruttore) il Log a PreProc

    Ciao

  3. #3
    Potrebbe essere un'idea, preferisco la prima.
    Tuttavia ho risolto anche facendo cosi:
    Ho creato l'oggetto logFile nella classe preProc e lo ho dichiarato public static;
    poi accedo dal main attraverso preProc.log.metodo().

    Ciao
    Grazie!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da littalinux
    Potrebbe essere un'idea, preferisco la prima.
    Tuttavia ho risolto anche facendo cosi:
    Ho creato l'oggetto logFile nella classe preProc e lo ho dichiarato public static;
    poi accedo dal main attraverso preProc.log.metodo().

    Ciao
    Grazie!!!
    Se parli di log allora sarebbe meglio che quel parametro fosse private e static, il log dovrebbe essere relativo alla classe, non accessibile dall'esterno. Condividi la destinazione del log, non l'oggetto che usi per fare log.
    Chi avesse bisogno di fare log se ne dovrebbe creare una sua istanza che non fa altro che fare append al file già esistente.
    Ovviamente devi gestire l'accesso concorrente (se usi log4j qualcosa lo fa lui per te).
    RTFM Read That F*** Manual!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.