Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    20

    Variabili d'istanza e di classe

    Qualcuno può spiegarmi la differenza tra una variabile di classe ed una d'istanza?
    Ad esempio una variabile che è un dato membro per una classe A è da intentificarsi come variabile di classe o d'istanza?

    Grazie

  2. #2
    Una variabile d'istanza è una proprietà dell'istanza di una classe, una variabile d'istanza (lo pseudo corrispondente delle variabili statiche in altri linguaggi) è una variabile che appartiene alla classe, non all'istanza.

    Se poi consideriamo che in Ruby una classe è a sua volta un'istanza della superclasse Class, allora abbiamo che in Ruby una variabile di classe è in realtà una variabile d'istanza dell'oggetto classe.

    Se una classe ha una variabile di classe foo ed una d'istanza bar:

    - ogni istanza potrà avere valori differenti per bar
    - ogni istanza condividerà lo stesso valore per foo. Se cambi il valore di foo in una istanza, quest'ultimo cambierà in tutte le istanze.

  3. #3
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Originariamente inviato da weppos
    Una variabile d'istanza è una proprietà dell'istanza di una classe, una variabile d'istanza (lo pseudo corrispondente delle variabili statiche in altri linguaggi) è una variabile che appartiene alla classe, non all'istanza.
    Volevi scrivere di classe.

    Originariamente inviato da weppos
    Se poi consideriamo che in Ruby una classe è a sua volta un'istanza della superclasse Class, allora abbiamo che in Ruby una variabile di classe è in realtà una variabile d'istanza dell'oggetto classe.
    Non è esatto, una variabile di classe è una variabile di classe. Non si può nemmeno considerare come una variabile di istanza di una classe perché è condivisa da una classe e da tutte le sue derivate.

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