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
Forum Updated to NodeBB v4.3 + New Features

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