Stavo passando per i concetti di astrazione in Java.Vantaggi dell'astrazione e del polimorfismo in Java
Queste sono le mie comprensioni:
- L'astrazione è il metodo di presentare la firma di funzioni e nascondere l'implementazione, lasciando agli utenti che possono implementare/estendere la classe di interfaccia/astratta.
- In questo modo possiamo ottenere maggiori possibilità di modifica del codice, riutilizzabilità.
- Possiamo strettamente correlare gli oggetti in tempo reale agli oggetti nel codice del programma.
sono queste le mie domande:
Quando una classe astratta può comportarsi come un'interfaccia in cui tutti i metodi sono fatti astratto, perché abbiamo bisogno di interfacciarsi separatamente? Si prega di spiegare con un esempio per una migliore comprensione.
Possiamo probabilmente chiamare Classe astratta = Interfaccia + Eredità su una base di funzionalità? Perché possiamo ottenere la funzionalità dell'interfaccia e dell'eredità insieme alla classe Abstract.
Questa domanda dovrebbe rispondere alle tue domande: http://stackoverflow.com/questions/1913098/what-is-the-difference-between-an-interface-and-abstract-class –
Ed ecco una risposta al perché è stata presa la decisione di non consentire più l'ereditarietà dell'implementazione in java: http://stackoverflow.com/questions/995255/why-is-multiple-inheritance-not-allowed-in-java-or-c – jrahhali