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#

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

Crea Funzioni o Metodi in C#



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 del sito stesso, saranno trattati nel rispetto delle disposizioni ai sensi del Reg. UE 679/2016 (GDPR General Data Protection Regulation), Codice in materia di protezione dei dati personali.

Accetto

Questo sito web utilizza i cookie

Noi e terze parti usiamo cookie o tecnologie simili per funzionalità tecniche e anche per altre finalità, misurarne la performance, analizzare le nostre audience e migliorare i nostri prodotti e servizi. Puoi liberamente prestare o rifiutare il tuo consenso. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Cliccando sul pulsante "Accetta cookie tecnici" acconsenti all'uso dei soli cookie tecnici.

* I cookie necessari aiutano a contribuire a rendere fruibile un sito web abilitando le funzioni di base come la navigazione della pagina e l'accesso alle aree protette del sito. Il sito web non può funzionare correttamente senza questi cookie.