Skip to main content

Cos'è un metodo astratto?

Nella programmazione orientata agli oggetti, le subroutine chiamate "metodi" vengono utilizzate per eseguire funzioni in un programma.Questi metodi consistono in istruzioni di programmazione che eseguono un'azione, impostano i parametri di input per personalizzare le azioni e possono restituire o produrre un valore di un qualche tipo di oggetto o classe.I metodi sono le azioni eseguite in un programma da una determinata classe o all'interno di un oggetto e vengono utilizzate per accedere e manipolare i dati archiviati all'interno di un oggetto.Esistono molti metodi diversi e ognuno ha un uso particolare.Un tipo specifico che viene eseguito da una super classe astratta ed ereditato dalle sottoclassi è noto come metodo astratto.

In generale, il metodo astratto esegue poca o nessuna implementazione all'interno della sua super classe astratta.I codici contenuti in questo tipo di metodo sono considerati codici fittizi e non sono implementati.Ciò non significa che il metodo astratto specifico in una particolare classe astratta non viene utilizzato.Piuttosto, il metodo astratto funge da modello o segnaposto per le sottoclassi per completare l'implementazione del metodo.

Le super classi possono contenere più sottoclassi e tutte le sottoclassi di una super classe hanno alcuni stati e comportamenti simili.Le classi astratte, quindi, sono un tipo di classe virtuale che mostra l'eredità virtuale.Ciò significa che qualsiasi sottoclasse derivata da una super classe eredita le restrizioni della Super Class da cui è derivata.Pertanto, i metodi nelle sottoclassi sono derivati da metodi astratti di super classi.Durante la programmazione e l'uso di metodi astratti, il programmatore deve dichiarare l'abstract di classe anziché virtuale.

Ad esempio, una super classe di "oggetti grafici" contiene le sottoclassi "Circle", "Square", ecc. In quanto tale, tutti i circoliI quadrati hanno gli stessi stati mdash;Orientamento, posizione, colore di riempimento, colore della linea e mdash;e comportamenti mdash;moveto, ridimensionare, ruotare, disegnare mdash;come "oggetti grafici".Tutte le sottoclassi in questa super classe hanno le stesse qualità, ma sono implementate in modi diversi.Il metodo astratto della Super Class fornisce le basi senza implementazione e le sottoclassi eseguono l'implementazione effettiva utilizzando gli stessi metodi.Anche se ogni sottoclasse utilizza lo stesso metodo della classe astratta, definiscono in modo univoco il modo in cui il metodo verrà eseguito.livelli o sottoclassi.Questa gerarchia riduce al minimo la quantità di programmazione del metodo per ciascuna sottoclasse specifica.L'utilizzo di questi metodi consente anche l'idupotenza delle sottoclassi, il che significa che se un metodo viene implementato più e più volte, il risultato è lo stesso ogni volta.