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

Traduzione articoli Traduzione articoli
Identificativo articolo: 308230 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato precedentemente pubblicato con il codice di riferimento I308230
Espandi tutto | Chiudi tutto

In questa pagina

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Ó.

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.

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 digitare Employee.vb nella casella di testo Nome, quindi scegliere Apri.
  3. Esaminare il codice per la nuova classe nella finestra di visualizzazione del codice.

Definizione di campi, costruttori e metodi

  1. Aggiungere tre campi Private alla classe Employee, come illustrato di seguito:
    Private Name As String
    Private Salary As Decimal
    Private 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 = HireDate
    End Sub
  3. Aggiungere un metodo Public alla classe, come illustrato di seguito:
    Public Sub PayRise(ByVal Amount As Decimal)
       Me.Salary += Amount
    End Sub

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 Set
    End 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 Get
    End 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 Get
    End Property

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)

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 Lafayette
    Remuneration: 125000
    Days 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.

ProprietÓ

Identificativo articolo: 308230 - Ultima modifica: mercoledý 10 aprile 2002 - Revisione: 1.0
Le informazioni in questo articolo si applicano a
  • Microsoft Visual Basic .NET 2002 Standard Edition
Chiavi:á
kbhowto kbhowtomaster KB308230
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com