|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2008
Messaggi: 7
|
[VB.NET] Proprietà
Salve, ho delle domande da rivolgere sulle proprietà. Ho capito che esse servono a rendere pubblici campi privati, ma non comprendo la sua sintassi:
Property [Nome della proprieta']([Eventuali parametri]) As [Tipo] Get Return End Get Set(ByVal Value As [Tipo]) End Set End Property cosa sono get e set e a cosa servono? hanno funzioni diverse? vi ringrazio in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
ti rispondo con un esempio:
Codice:
Private cognome As String Private nome As String Public Property GetCognome() As String Get return cognome End Get Set (ByVal Value As String) cognome = value End Set End Property 'uguale anche per nome Get = Prendi 'cognome' Set = assegna il valore preso con get a 'cognome' N.B.: Set potrebbe anche non assegnare nessun valore a cognome, in questo caso avremo un membro in sola lettura. Per un esempio pratico, supponiamo che tu abbia la tua classe Persona, ed un form con due caselle di testo: In un qualsiasi evento del form, puoi dire che: Codice:
Dim personaSingola As new Persona() personaSingola.GetCognome = casellaDiTesto1.Text personaSingola.GetNome = casellaDiTesto2.Text 'in pratica, abbiamo preso il valore dalle caselle di testo (get) e lo abbiamo 'assegnato ai membri della classe Persona (set) per cognome e nome *Quest'ultima frase non è proprio correttissima, sarebbe meglio parlare 'in termini di oggetto personaSingola (istanza della classe Persona) ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2003
Messaggi: 126
|
Le proprietà in linea di massima servono come interfaccia da e verso l'esterno di variabili private di una classe.
Tutto parte dal fatto che se hai una variabile privata naturalmente essa non è accessibile direttamente. Se non esistessero le proprietà faresti un metodo per valorizzare tale proprietà e uno per "restitiurla" Per Esempio: Codice:
Private _pippo As Integer Public Function ValorizzaPippo(ByVal val As Integer) As Boolean ' eventuali controlli _pippo = val 'se tutto va bene Return True End Function Public Function RestituisciPippo() As Integer ' eventuali controlli Return _pippo End Function Codice:
Public Property Pippo() Get Return _pippo End Get Set(ByVal value) ' eventuali controlli _pippo = value End Set End Property Get restituisce il valore di _pippo Set imposta il valore di _pippo |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Jun 2008
Messaggi: 7
|
grazie ad entrambi per la risposta
sapete spiegarmi le proprietà di default? Ultima modifica di max12 : 08-07-2008 alle 22:55. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:15.