Utente:FMshoot13/test

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

I Metodi Astratti:[modifica | modifica wikitesto]

Nei linguaggi di programmazione, un metodo astratto è un metodo privo di implementazione (definito in una classe astratta) che rappresenta un'operazione generale. I metodi astratti possono anche essere chiamati anche esistenziali. Spesso, i metodi astratti hanno una o più implementazioni fornite separatamente, per esempio, sotto forma di sottoclassi concrete, che possono includere metodi astratti o proprietà astratte che sono condivise dai suoi sottotipi.

Un metodo non astratto è chiamato un metodo concreto (o classe concreta).

Esempio (Java) abstract class Demo {

   // Una classe astratta può includere metodi senza implementazione.
   abstract public int sum(int x, int y);

   // Una classe astratta può anche includere metodi concreti.
   public int product(int x, int y) { return x*y; }

}

interface DemoInterface {

   // All methods in an interface are abstract.
   int getLength();

}

Caratteristiche dei metodi astratti:

  • Un metodo astratto non ha implementazione (in pratica viene definito solo il suo prototipo, è compito della sottoclasse implementare correttamente il metodo);
  • Una classe astratta non può essere estesa;
  • Se un metodo astratto viene esteso, verrà ereditato;
  • Solo le classi astratte e le interfacce possono contenere metodi astratti.