Programmazione orientata agli oggetti - Prima parte

4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>

Incapsulamento

L'incapsulamento rappresenta il principio in base al quale una classe può mascherare la sua struttura interna e proibire ad altri oggetti di accedere ai suoi dati o di richiamare le sue funzioni che non siano direttamente accessibili dall'esterno.

Lo scopo principale dell'incapsulamento è quello di dare accesso allo stato e ai comportamenti di un oggetto solo attraverso un sottoinsieme di elementi pubblici. L'incapsulamento permette quindi di considerare una classe come una sorta di black-box, ovvero una scatola nera che permette di far vedere solo ciò che è necessario, mascherando ciò che non deve trasparire verso l'esterno.

Classi

Le classi sono i tipi di riferimento definiti dallo sviluppatore. Esse vengono dichiarate tramite la parola chiave class in C# o Class in Visual Basic, seguita dal nome identificativo. L'esempio 4.1 mostra la sintassi valida per la dichiarazione di una classe che rappresenta una persona.


Esempio 4.1 - VB
Class Person

  ' ...

End Class

Esempio 4.1 - C#
class Person
{
  \\ ...
}

Come detto, una classe contiene sia dati che funzioni. I membri di una classe si suddividono in campi, proprietà, metodi ed eventi (questi ultimi vengono trattati in un paragrafo specifico nel corso del capitolo). I campi rappresentano le variabili interne alla classe (i dati), mentre i metodi sono le funzioni e le procedure (i comportamenti). Per i campi e i metodi valgono le stesse notazioni sintattiche viste nel corso dei capitoli precedenti per la dichiarazione delle variabili locali e delle routine (esempio 4.2).


Esempio 4.2 - VB
Class Person

  Dim _fullName As String = string.Empty
  Dim _age As Integer = 18

  Function GetFirstName() As String
    ' ...
  End Function

End Class

Esempio 4.2 - C#
class Person
{
  string _fullName = string.Empty;
  int _age = 18;

  string GetFirstName()
  {
    // ...
  }
}

Le proprietà sono membri che permettono di accedere in lettura e scrittura ai campi di una classe. In genere una proprietà definisce una coppia di metodi (uno per la lettura di un campo e uno per la sua scrittura) e ad essi associa un nome identificativo. In Visual Basic per la dichiarazione di una proprietà si utilizza la parola chiave Property (esempio 4.3).

La dichiarazione di una proprietà avviene specificando due blocchi di codice contrassegnati dalle parole chiave get e set in C# o Get e Set in Visual Basic, corrispondenti rispettivamente alle operazioni di lettura e di scrittura (esempio 4.3). Questi due blocchi sono detti anche accessor (o funzioni di accesso). Per una proprietà non è obbligatorio definire sempre entrambi gli accessor.


Esempio 4.3 - VB
Public Class Person

  Private _fullName As String = string.Empty

  ' Per le proprietà in VB si usa la keyword Property
  Public Property FullName As String
    Get
      Return _fullName
    End Get
    Set(ByVal value As String) ' Va specificato il parametro
      _fullName = value
    End Set
  End Property

End Class

Esempio 4.3 - C#
public class Person
{
  private string _fullName = string.Empty;
  public string FullName
  {
    get { return _fullName; }
    set { _fullName = value; }
  }
}

Nell'esempio precedente le parole chiave come public e Public rappresentano i cosiddetti access modifier o modificatori di accessibilità, che hanno lo scopo di definire il grado di visibilità di un determinato elemento.

4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC