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
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
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.
Volevi scrivere di classe.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.
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.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.