Condividi tramite


Modificatore abstract

Dichiara che una classe deve essere estesa o che l'implementazione di un metodo o di una proprietà deve essere fornita da una classe derivata.

abstract statement

Argomenti

  • statement
    Obbligatorio. Definizione di una classe, di un metodo o di una proprietà.

Note

Il modificatore abstract viene utilizzato per un metodo o una proprietà all'interno di una classe che non è implementata o per una classe che contiene metodi non implementati. Non è possibile utilizzare l'operatore new per creare un'istanza di una classe con membri astratti. Da una classe base astratta è possibile derivare sia classi astratte che classi non astratte.

Le classi e i metodi e le proprietà in esse specificate possono essere contrassegnate con il modificatore abstract. Una classe deve essere contrassegnata come abstract se contiene membri abstract. Le interfacce e i relativi membri, già implicitamente astratti, non possono essere contrassegnate con il modificatore abstract. I campi non possono essere abstract.

Non è possibile combinare il modificatore abstract con l'altro modificatore di ereditarietà (final). Per impostazione predefinita, i membri delle classi non sono né abstractfinal. I modificatori di ereditarietà non possono essere combinati con il modificatore static.

Esempio

Nell'esempio riportato di seguito viene illustrato un utilizzo del modificatore abstract.

// CAnimal is an abstract base class.
abstract class CAnimal {
   abstract function printQualities();
}
// CDog and CKangaroo are derived classes of CAnimal.
class CDog extends CAnimal {
   function printQualities() {
      print("A dog has four legs.");
   }
}
class CKangaroo extends CAnimal {
   function printQualities() {
      print("A kangaroo has a pouch.");
   }
}

// Define animal of type CAnimal.
var animal : CAnimal;

animal = new CDog;
// animal uses printQualities from CDog.
animal.printQualities();

animal = new CKangaroo;
// animal uses printQualities from CKangaroo.
animal.printQualities();

L'output del programma è il seguente:

A dog has four legs.
A kangaroo has a pouch.

Requisiti

Versione .NET

Vedere anche

Riferimenti

Modificatore final

Modificatore static

Istruzione var

Istruzione function

Istruzione class

Operatore new

Concetti

Ambito di variabili e costanti

Altre risorse

Modificatori