Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Come fare per riferirsi ad un campo di un'altra classe

Come fare per riferirsi ad un campo di un'altra classe

Scheduled Pinned Locked Moved Solved Italian
4 Posts 3 Posters 1.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bvox123
    wrote on last edited by
    #1

    Buonasera.
    Vi prego di darmi una conferma o una smentita.
    Se ho due classi (Classe1 e Classe2) e mi trovo su Classe1, se ho bisogno di conoscere il valore di un campo di Classe2 posso utilizzare il riferimento diretto così: Classe2->LeggiValoreCampo2().
    Se invece mentre sto in Classe1 devo modificare un campo in Classe2 non è corretto utilizzare il riferimento diretto (Classe2->ScriviValoreCampo2(NuovoValore)) ma si deve utilizzare un segnale e richiamare il metodo di aggiornamento così:
    emit ScriviValoreCampo2(NuovoValore)).
    E' così ?

    1 Reply Last reply
    0
    • P Offline
      P Offline
      patrik08
      wrote on last edited by
      #2

      Bhe puoi scriverti i segnali slot he passano il valore da una all'altra classe .. oppure integrare la classe 2 nella 1, ma di regola per risparmio di tempo si inizia con le classi inferiori le quali vanno poi subclassate nelle superiori... per quello scrivendo i progetti si fanno tanti piccoli moduli come in playmobil o lego i quali poi si reintegrano .. in una applicazione grande...
      Subclassando la classe prende sempre piu maggior numero di funzioni crescendo poi nel vero programma.. facendo in questo modo i singoli componenti possono essere ottimizzati al massimo velocita e funzione... altrimenti quanto il tutto è composto non si vede piu bene dove la velocita non è ottima... e o cercare errori non è poi facile...
      sperando he ti aiuto questo punto di vista...

      1 Reply Last reply
      0
      • B Offline
        B Offline
        bvox123
        wrote on last edited by
        #3

        Ti ringrazio, ma non mi hai tolto il dubbio. Gli slots e i connect si usano solo per poter modificare un campo di una classe dall'esterno della classe stessa. E' così o no ? Per poter esaminare il valore di un campo di un'altra classe non vedo come poter creare uno slot e acquisire un valore con un connect.

        VRoninV 1 Reply Last reply
        0
        • B bvox123

          Ti ringrazio, ma non mi hai tolto il dubbio. Gli slots e i connect si usano solo per poter modificare un campo di una classe dall'esterno della classe stessa. E' così o no ? Per poter esaminare il valore di un campo di un'altra classe non vedo come poter creare uno slot e acquisire un valore con un connect.

          VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #4

          @bvox123 said in Come fare per riferirsi ad un campo di un'altra classe:

          Gli slots e i connect si usano solo per poter modificare un campo di una classe dall'esterno della classe stessa

          Non solo.

          S.O.L.I.D. sono principi fondanti della programmazione a oggetti. Questi implicano che se un oggetto di tipo Classe1 crea un oggetto di tipo Classe2, l'oggetto Classe2 non deve avere alcuna idea di chi o cosa sia l'oggetto a monte. Non e' la responsabilita' di Classe2 cabiare cose a monte di essa. Usiamo i signal e slot per permettere a Classe2 di dire all'esterno che qualcosa e' cambiato ma e' la responsabilita' di chi e' a monte (Classe1) di reagire al cambiamento

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved