Crea Classe in C# - metodi e proprietà

Una classe è un oggetto con metodi e proprietà.
Nelle lezioni precedenti abbiamo visto come istanziare una variabile e come creare, richiamare  un metodo. Adesso vediamo come è possibile creare una classe in C#.

Aperto il progetto -> Aggiungi classe


Inserisci il nome della classe Persona.cs e clicca su aggiungi


In esplora soluzioni è presente il file Persona.cs. Adesso creiamo il contenuto, cioè cosa dovrà fare questa classe.
Una classe è composta dalle sue variabili (proprietà) e funzioni (metodi).

Una classe dichiarata è null. Per instanziare una classe si usa new e in questo caso il compilatore entra nel costruttore. Se nel costruttore è presente un blocco di codice lo esegue. Quindi è un inizializzatore e si possono settare le variabili di default.
 


/// <summary>
/// Una classe viene istanziata con la parola riservata new
/// Persona p = new Persona();
/// p.Nome = "Antonio";
/// p.Eta = 12;
/// Console.WriteLine( p.Presentati() );
/// </summary>
public class Persona
{
    // Proprietà private
    private string strNome;
    private int intEta;

    // Costruttore della classe
    public Persona()
    {
        strNome = "sconosciuto";
        intEta = 0;
    }

    /// <summary>
    /// Proprietà pubblica Nome
    /// </summary>
    public string Nome
    {
        get
        {
            return strNome;
        }

        set
        {
            strNome = value;
        }
    }

    /// <summary>
    /// Proprietà pubblica Età, da notare Eta come variabile 
    /// è senza accento o avrai un errore dal compilatore
    /// </summary>
    public int Eta
    {
        get
        {
            return intEta;
        }

        set
        {
            intEta = value;
        }
    }

    /// <summary>
    /// Metodo Presentati della classe Persona
    /// dichiara nel metodo una variabile string str 
    /// e concatena le proprietà per ...presentarsi :-P
    /// </summary>
    /// <returns></returns>
    public string Presentati()
    {
        string str;
        str = "Ciao sono " + strNome + " ed ho " + intEta.ToString() + " anni!";

        return str;
    }
}
 
Abbiamo creato una classe Persona con proprietà Nome e Eta ed un metodo Presentati().

 
E nella classe Program del nostro progetto di Application Console useremo la classe Persona:
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Dichiarazione variabile p di tipo Persona
            // Appena dichiarata la variabile p è null
            Persona p;

            // Instanza della classe con parola riservata new
            p = new Persona();

            // setta le proprietà
            p.Nome = "Antonio";
            p.Eta = 12;

            // richiama metodo Presentati() e lo stampa a video
            Console.WriteLine( p.Presentati() );

            // Aspetta un invio per chiudere il programma
            Console.ReadLine();
        }
    }
}

Per visualizzare l'esecuzione e cosa fa il compilatore cliccare F10, avvia Debug eseguendo una linea di codice alla volta.
Clicca di nuovo su F10 per andare alla riga di codice successiva, Visual Studio la seleziona in giallo.


Tasto F5 per proseguire normalmente e visualizzare il risultato.


La programmazione a oggetti (OOP) ha i seguenti concetti base:

- Incapsulamento;
- Ereditarietà;
- Polimorfismo;

Incapsulamento


L'incapsulamento è la proprietà per cui i dati che definiscono lo stato interno di un oggetto e i metodi che ne definiscono la logica sono accessibili ai metodi dell'oggetto stesso, mentre non sono visibili ai client. Per alterare lo stato interno dell'oggetto, è necessario invocarne i metodi pubblici, ed è questo lo scopo principale dell'incapsulamento.

Ereditarietà


Il meccanismo dell'ereditarietà è utilizzato in fase di strutturazione/definizione/pianificazione del software o in successive estensioni e permette di derivare nuove classi a partire da quelle già definite realizzando una gerarchia di classi.

Polimorfismo


Il termine polimorfismo indica la possibilità di definire metodi e proprietà con lo stesso nome, in modo che, ad esempio, una classe derivata possa ridefinire un metodo della classe base con lo stesso nome.
 
I 3 concetti base della OOP (Object Oriented Programming) verranno spiegati con esempi nella prossima lezione.

Potresti essere interessato

Corso base di programmazione in C#

Per sviluppare un software sono stati creati numerosi linguaggi di programmazione per trasformare le informazioni e le istruzioni in qualcosa di comprensibile per il il computer. Linguaggi come: C, C++, Java, PHP, Python, Visual Basic, C#. Per il corso base di programmazione  utilizzeremo il C#, un linguaggio creato dalla Microsoft. Per prima cosa dobbiamo scaricare l'ambiente di sviluppo (IDE) per facilitare il compito e per compilare il nostro primo programma. Download Visu...

Dichiarazione di variabili, assegnazioni, condizioni e cicli in C#

Un programma, semplificando, è formato dall'insieme di:   - Variabili; - Assegnazioni; - Condizioni; - Iterazioni; - Funzioni; - Classi; Variabile La variabile è un contenitore.  int a;   In questo esempio è stata creata una variabile "a" di tipo intero (int). Quindi può contenere numeri.  Per dichiarare una variabile che contiene parole invece:   string a;   I tipi primitivi sono:  - int : contiene num...

Crea Funzioni o Metodi in C#

Un metodo o funzione è un blocco di codice che contiene una serie di istruzioni. Un programma ha molti metodi, ognuno con il suo nome che identifica cosa fa.   Creiamo un metodo che addiziona 2 numeri e restituisce come risultato un numero intero, Il nome Somma indica al programmatore cosa deve fare, ma poteva anche esserci scritto Pippo . Il nome deve solo essere chiaro per poter dare informazioni veloci ai programmatori che gestiranno il programma. Esempio: /// <summa...



Contattaci

Inviaci una E-mail per maggiori Informazioni:

La informiamo che i dati che fornirà al presente sito al momento della compilazione del "form contatti" (detto anche form mail) del sito stesso, saranno trattati nel rispetto delle disposizioni di cui al d.lgs. 196/2003, Codice in materia di protezione dei dati personali.

Acconsento
x

Questo sito utilizza i cookie per migliorare la tua esperienza di navigazione.

Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie.