Un metodo astratto è un metodo privo di implementazione (definito in una classe astratta), seguito sempre da un punto e virgola, che rappresenta un’operazione generale (esempio: {public abstract String marca(); ).
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.
I metodi astratti possono essere chiamati anche esistenziali.
Del metodo astratto viene definito solo il suo prototipo, perché è compito della sottoclasse implementare correttamente il metodo. Se un metodo astratto viene esteso esso verrà anche verrà ereditato; infatti, solo le classi astratte e le interfacce possono contenere metodi astratti.
L’utilizzo di un metodo astratto consente la generalizzazione al livello superiore, o superclasse, e la specificazione ai livelli inferiori, o sottoclassi. Questa gerarchia riduce al minimo la quantità di programmazione del metodo per ogni sottoclasse specifica. L’utilizzo di questi metodi consente anche l’idempotenza delle sottoclassi, il che significa che se un metodo viene implementato più e più volte, il risultato è lo stesso ogni volta.
Categorie
Abstract method
Un metodo astratto è un metodo privo di implementazione che rappresenta un’operazione generale