Astrazione

Riassunto

L'astrazione è un principio fondamentale dell'Orientamento agli Oggetti (OOP) che consente di concentrarsi solo sugli aspetti rilevanti di un oggetto, ignorando i dettagli non essenziali.

Definizione:

L'astrazione consiste nel rappresentare solo i dettagli essenziali di un oggetto, ignorando i dettagli non rilevanti. Consente di creare modelli concettuali che possono essere utilizzati per risolvere problemi complessi.

Vantaggi:

  • Semplificazione: L'astrazione semplifica la complessità del sistema, consentendo agli sviluppatori di concentrarsi solo sui concetti importanti e trascurare i dettagli non essenziali.
  • Riutilizzo del Codice: Permette il riutilizzo del codice esistente, poiché i modelli astratti possono essere utilizzati in diversi contesti senza dover essere ridisegnati da zero.
  • Miglioramento della Progettazione: Favorisce una migliore progettazione del software, consentendo di creare interfacce e modelli ben definiti che possono essere implementati in modo flessibile e scalabile.

Esempio:

Ecco un esempio di astrazione in Java:

abstract class Forma {
      abstract void disegna();
  }
  
  class Cerchio extends Forma {
      void disegna() {
          System.out.println("Disegna un cerchio");
      }
  }
  
  class Rettangolo extends Forma {
      void disegna() {
          System.out.println("Disegna un rettangolo");
      }
  }
  
  public class Main {
      public static void main(String[] args) {
          Forma forma1 = new Cerchio();
          forma1.disegna();
  
          Forma forma2 = new Rettangolo();
          forma2.disegna();
      }
  }

In questo esempio, la classe astratta Forma definisce un metodo astratto disegna(), che viene implementato dalle classi figlie Cerchio e Rettangolo. Le classi figlie forniscono dettagli specifici sull'implementazione del metodo disegna(), mentre la classe astratta Forma fornisce solo un'interfaccia astratta comune.