Vai al contenuto principale
Pubblicato il

Classi e Oggetti in C#

Condividi:

Introduzione

C# è uno dei principali linguaggi che adotta il paradigma della programmazione orientata agli oggetti. Questo approccio si concentra su oggetti che rappresentano entità del mondo reale. E quale ruolo svolgono le classi? Sono lo schema da cui gli oggetti vengono modellati.

Cosa sono le Classi?

La classe è il cuore della programmazione orientata agli oggetti. È un modello o uno schema che definisce un nuovo tipo di dati. Una classe combina dati (tramite campi o proprietà) e comportamento (tramite metodi).

Componenti di una Classe

  1. Campi e Proprietà: Questi rappresentano lo stato o i dati di una classe.
  2. Metodi: Funzioni associate a una classe. Definiscono cosa può fare la classe.

Cosa sono gli Oggetti?

Se una classe è un modello, un oggetto è la manifestazione reale di quel modello. È un'istanza specifica di una classe.

Caratteristiche di un Oggetto

  1. Stato: Determinato dai valori dei campi o delle proprietà.
  2. Comportamento: Determinato dai metodi della classe.

Creazione e Utilizzo degli Oggetti

Creiamo un oggetto della classe ClassiEOggetti:

using System;

namespace Base {
  class Program {
    static void Main(string[] args) {
      var nemico1 = new ClassiEOggetti();
      var nemico2 = new ClassiEOggetti();

      nemico1.Attacca(); // Sono stato attaccato e ho perso una vita.
      nemico1.Attacca(); // Sono stato attaccato e ho perso una vita.
      nemico1.Attacca(); // Sono stato attaccato e ho perso una vita.
      nemico1.VerificaVita(); // Sono ancora in combattimento e ho 2 vite.
      nemico2.VerificaVita(); // Sono ancora in combattimento e ho 5 vite.

      Console.ReadKey();
    }
  }
}

Nell'esempio precedente, nemico1 e nemico2 sono oggetti della classe ClassiEOggetti.

Incapsulamento e Modificatori di Accesso

Una delle principali caratteristiche della programmazione orientata agli oggetti è l'incapsulamento. Aiuta a proteggere lo stato interno di un oggetto.

I principali modificatori di accesso in C# sono:

  • Private: Il membro può essere acceduto solo all'interno della sua classe.
  • Public: Il membro può essere acceduto da qualsiasi luogo.
  • Protected: Il membro può essere acceduto solo all'interno della sua classe e dalle classi derivate.

Conclusione

La programmazione orientata agli oggetti è un pilastro centrale del linguaggio C#. Comprendere le classi e gli oggetti, nonché l'interazione tra di essi, è fondamentale per qualsiasi sviluppatore C#. Padroneggiando questi concetti, sarai ben posizionato per creare applicazioni efficienti ed efficaci in C#.

Happy coding!