Ho letto molte definizioni di astrazione e come è stato realizzato in linguaggi di programmazione come Java e C ++ usando interfacce (solo Java) e classi astratte.
Comprendo che sono necessarie classi e interfacce astratte per consentire a più classi di fornire le proprie implementazioni dei metodi astratti e quindi raggiungere l'astrazione.
Possiamo anche considerare una classe che nasconde tutti i dettagli dell'implementazione in metodi privati e fornisce un insieme di metodi pubblici (dai quali chiama internamente i metodi privati) come se avesse ottenuto l'astrazione come per la progettazione orientata agli oggetti?
Questa domanda è specificamente correlata ai meccanismi disponibili nei linguaggi di programmazione per raggiungere l'astrazione - Vedo le interfacce e le classi astratte menzionate comunemente ma non i metodi pubblici.