Metodi e Classi Astratte

  • Una classe astratta, che definirà un concetto astratto (come abbiamo visto per il C++), non può essere istanziata
  • Per creare una classe astratta, si deve inserire la parola chiave abstract nella dichiarazione della classe
  • Una classe astratta può tranquillamente definire tutti i suoi metodi, come una qualunque classe reale
  • Alcuni metodi di una classe astratta possono altresì non essre definiti
  • In questo caso i metodi dovranno a loro volta essere dichiarati abstract, ed avranno solo la definizione, ma non l'implementazione
  • A differenza che in C++, il linking è dinamico, quindi dichiarare un metodo astratto non serve per far sì che a runtime venga usato il metodo corretto: lo sarebbe comunque
  • Se una classe contiene metodi astratti, deve per forza essere dichiarata astratta, ma una classe astratta non deve per forza contenere metodi astratti
  • La dichiarazione di una classe astratta senza metodi astratti ha senso per rendere più chiara la struttura del programma

© Ing. Stefano Salvi - All rights reserved