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é abstract né final. 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
Vedere anche
Riferimenti
Concetti
Ambito di variabili e costanti