Al momento sei offline in attesa che la connessione Internet venga ristabilita

HOW TO: Definire e utilizzare proprietà in Visual Basic .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I308230
Sommario
Uno degli scopi principali di molti linguaggi di programmazione orientati agli oggetti è quello di consentire di incapsulare dettagli interni in una classe. Visual Basic .NET consente di definire le proprietà per fornire un accesso controllato ai dettagli interni incapsulati in una classe. In questo articolo viene descritto come definire e utilizzare le proprietà in un'applicazione Visual Basic .NET.

Una proprietà può essere di sola lettura, di sola scrittura o di lettura/scrittura. Una funzione di accesso Get fornisce accesso in lettura, mentre una funzione di accesso Set fornisce accesso in scrittura. È possibile aggiungere del codice a queste funzioni di accesso per fornire la funzionalità appropriata per ottenere o impostare la proprietà.

In questo articolo viene creata una classe denominata Employee all'interno della quale viene definita una proprietà di lettura/scrittura per il nome del dipendente, una proprietà per leggere lo stipendio del dipendente e una proprietà per calcolare da quanto tempo il dipendente lavora per l'azienda. Quindi viene creato un oggetto Employee nell'applicazione e ne vengono utilizzate le proprietà.

Torna all'inizio

Requisiti

In questo articolo si presume la conoscenza dei seguenti argomenti:
  • Sintassi di Visual Basic .NET.
  • Concetti della programmazione orientata agli oggetti.
  • Microsoft Visual Studio .NET.
Torna all'inizio

Creazione di un'applicazione contenente una classe Visual Basic .NET

  1. Avviare Visual Studio .NET e creare un nuovo progetto Applicazione console di Visual Basic .NET denominato EmployeeProperties.
  2. Scegliere Aggiungi classe dal menu Progetto. Nella finestra di dialogo Aggiungi nuovo elemento digitareEmployee.vbnella casella di testo Nome, quindi scegliere Apri.
  3. Esaminare il codice per la nuova classe nella finestra di visualizzazione del codice.
Torna all'inizio

Definizione di campi, costruttori e metodi

  1. Aggiungere tre campi Private alla classe Employee, come illustrato di seguito:
    Private Name As StringPrivate Salary As DecimalPrivate HireDate As DateTime
  2. Definire un costruttore per la classe al fine di inizializzare i campi nella classe Employee:
    Public Sub New(ByVal Name As String, _               ByVal Salary As Decimal, _               ByVal HireDate As DateTime)   Me.Name = Name   Me.Salary = Salary   Me.HireDate = HireDateEnd Sub
  3. Aggiungere un metodo Public alla classe, come illustrato di seguito:
    Public Sub PayRise(ByVal Amount As Decimal)   Me.Salary += AmountEnd Sub
Torna all'inizio

Definizione di proprietà nella classe

  1. Aggiungere il codice riportato di seguito per aggiungere una proprietà di lettura/scrittura denominata FullName. La funzione di accesso Get restituisce il nome del dipendente. La funzione di accesso Set utilizza il parametro Value passato nella funzione di accesso Set per impostare il nome del dipendente.
    Public Property FullName() As String   Get      Return Me.Name   End Get   Set(ByVal Value As String)      Me.Name = Value   End SetEnd Property
  2. Aggiungere il codice riportato di seguito per aggiungere una proprietà ReadOnly denominata Remuneration. La funzione di accesso Get restituisce lo stipendio del dipendente. Non esiste alcuna funzione di accesso Set perché non è possibile impostare direttamente lo stipendio. L'unico modo per modificare lo stipendio consiste nel chiamare il metodo PayRise.
    Public ReadOnly Property Remuneration() As Decimal   Get      Return Me.Salary   End GetEnd Property
  3. Aggiungere il codice riportato di seguito per aggiungere un'altra proprietà ReadOnly denominata DaysSinceJoined. La funzione di accesso Get calcola il numero di giorni da cui il dipendente lavora per l'azienda.
    Public ReadOnly Property DaysSinceJoined() As Integer   Get      Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)      return timespan.Days   End GetEnd Property
Torna all'inizio

Creazione di un oggetto e utilizzo di proprietà

  1. Visualizzare il codice di Module1.vb nella finestra Visualizza codice.
  2. Nel metodo Main utilizzare l'operatore New per creare un oggetto Employee. Assegnare il riferimento dell'oggetto a una variabile Employee locale, come descritto di seguito:
    Dim worker As New Employee( "Jayne Doe", _                             125000, _                             New DateTime(1998, 7, 31) )
  3. Aggiungere il codice riportato di seguito per cambiare la proprietà FullName del dipendente. Questo implica richiamare la funzione di accesso Set per la proprietà FullName.
    worker.FullName = "Jayne Lafayette"
  4. Aggiungere il codice riportato di seguito per visualizzare i dettagli relativi al dipendente utilizzando la funzione di accesso Get per le proprietà FullName, Remuneration e DaysSinceJoined:
    Console.WriteLine("Full name: " & worker.FullName)Console.WriteLine("Remuneration: " & worker.Remuneration)Console.WriteLine("Days since joined: " & worker.DaysSinceJoined)
Torna all'inizio

Verifica del funzionamento

  1. Generare ed eseguire l'applicazione.
  2. L'applicazione visualizzerà le informazioni riportate di seguito nella console. Il valore di "Days since joined" dipende dalla data corrente:
    Full name: Jayne LafayetteRemuneration: 125000Days since joined: 1139
  3. Tornare al file Module1.vb nella finestra Visualizza codice e aggiungere il codice riportato di seguito al termine del metodo Main:
    worker.Remuneration = 1000000
  4. Provare a generare l'applicazione. Verrà visualizzato un errore di compilazione, in quanto Remuneration è una proprietà di sola lettura.
  5. Cambiare l'istruzione come illustrato di seguito:
    worker.Salary = 1000000
  6. Provare a generare nuovamente l'applicazione. Verrà visualizzato un altro errore di compilazione in quanto il campo Salary è contrassegnato come Private. L'unico modo per modificare lo stipendio del dipendente consiste nell'utilizzare il metodo pubblico PayRise.
Torna all'inizio
Proprietà

ID articolo: 308230 - Ultima revisione: 04/10/2002 10:07:00 - Revisione: 1.0

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbhowto kbhowtomaster KB308230
Feedback
js"> > + "//c.microsoft.com/ms.js'" + "'><\/script>");