Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

Classi in C#

Classi


In questo capitolo si presuppone che il lettore abbia delle conoscenza di programmazione ad oggetti, per cui eventualmente rimando il lettore meno esperto al manuale di ingegneria del software in cui parlo di programmazione ad oggetti.

Possiamo creare dei tipi riferimento, composti da elementi detti membri mediante la definizione di una classe. Le classi forniscono dei 'templates' da cui possono essere generate delle istanze.

Dichiarare una classe

La dichiarazione di una classe viene fatta mediante la parola chiave class e può contenere fino a quattro parti
  • attributi
  • modificatori
  • classi base
  • corpo

Nel corpo vengono specificati i membri della classe.

public class NomeClasse
{
  // corpo della classe
}



Vediamo adesso le altre parti.

Attributi

Gli attributi possono essere inseriti all'inizio della dichiarazione della classe. Sono i tipi definiti dall'utente per la classe.
Possono essere richiamati all'interno dela classe tramite il riferimento 'this'.

public class NomeClasse
{
  private int myNum;
  // corpo della classe
}



Modificatori

Ci sono sette tipi diversi di modificatori (opzionali) di classe.
Quattro di questi: 'public', 'internal', 'protected' e 'private' sono utilizzati per specificare il livello di accesso.

public
La parola chiave 'public' specifica un tipo come completamente accessibile da tutti gli altri tipi.

internal
i tipi che definisce sono accessibili soltanto nello stesso assembly

protected
i suoi tipi sono accessibili solo dai tipi che la contengono.

private
l'accesso ai tipi è limitato esclusivamente ai tipi che la contengono.

Strutture

Una struttura è un tipo definito dall'utente. Viene dichiarato in una maniera simile a quella dele classi, ad eccezione del fatto che non eredita da nessuna classe e nessuna classe può ereditare da essa.

Vediamo un esempio in cui dichiariamo una struttura che un contatto e-mail/telefonico.

struct Contatto
{
  public string nome;
  public string cognome;
  public string telefono;
  public string email;

public Contatto(string nome, string cognome, string telefono, string email)
{
  this.nome = nome;
  this.cognome = cognome;
  this.cognome = cognome;
  this.telefono = telefono;
  this.email = email;
}


Namespaces

Namespaces si possono immaginare come delle collezioni di classi. Forniscono un modo per per raggrupparle in una struttura gerarchica.

Vediamo un esempio pratico:

Il namespace System.Data.SqlClient, contiene le classi per la gestione dei database SQL.
Abbiamo ad esempio la classe: System.Data.SqlClient.SqlCommand
Facciamo riferimento ad un namespace mediante la parola chiave using inserita prima di qualsiasi dichiarzione della classe.

Ad esempio vediamo una classe che getisce una connessione al database.

using System;
using System.Data;
using System.Data.SqlClient;
namespace GestioneDatabase
{
  public class clDBTools
  {
    public clDBTools()
    {
      //costruttore
    }

  public void Connessione(SqlConnection conn, SqlCommand cmd)
  {
    if (conn.State == ConnectionState.Closed)
      conn.Open();
      cmd.Connection = conn;
    }
  }
}


all'interno della classe, una volta dichiarato il namespace, possiamo riferirci alla classe 'System.Data.SqlClient.SqlConnection' semplicemente con il nome di 'SqlConnection' oppure utilizzando il suo nome completo.

Stampa la pagina


 

Inizio pagina

risorse per webmaster