Classi astratte, interfacce, annotazione...ma in pratica?

di il
2 risposte

Classi astratte, interfacce, annotazione...ma in pratica?

Mi sono letto diversi testi di Java e piu' o meno i concetti mi sono chiari (oppure per nulla data la domanda ). FInora ho fatto programmi fruibili via web utilizzando il framework Play! per cui di certe funzionalita' di Java non ho mai avuto bisogno oppure le ho usate in modo intrinseco.

Ma cercando di addentrarmi sempre di piu' nel linguaggio, leggo l'ennesimo testo ma ancora in pratica non riesco a capire quando usare classi astratte, interfacce, annotazioni. C'e' qualche testo, qualche sito, qualche qualcuno che spieghi in pratica quando e' necessario/utile usare tali caratteristiche?

Grazie

2 Risposte

  • Re: Classi astratte, interfacce, annotazione...ma in pratica?

    morellik ha scritto:


    non riesco a capire quando usare classi astratte, interfacce, annotazioni.
    Una classe la si dichiara astratta quando NON ha senso poterla istanziare. Se ne possono fare tanti di esempi, uno classico: gerarchia di classi per rappresentare le figure tridimensionali, ovvero classe Solido con sotto classi es. Sfera, Cubo, ecc.... Ha senso poter istanziare Solido? Solido di che cosa?? Appunto, non ha granché senso, un "solido" è un concetto astratto. Pertanto la classe Solido è una ottima candidata per essere marcata abstract.

    Una interfaccia la devi vedere come se fosse una classe astratta al 100%, ovvero nulla di concreto, tutto completamente astratto. E siccome le interfacce si possono implementare (e più di una) in qualsiasi classe a qualunque livello in una gerarchia, vengono tipicamente usate per rappresentare un "contratto" tra almeno due entità. E spesso per rappresentare la capacità di "sapere fare qualcosa" (es. Runnable, Comparable, Iterable ecc...).

    Le annotazioni servono per applicare dei "metadati" agli elementi del programma, cioè a classi, metodi, variabili, parametri, ecc... con lo scopo di fornire configurazioni, informazioni o direttive specifiche che possono essere usate dal compilatore, da librerie/framework o da tools di terze parti.
  • Re: Classi astratte, interfacce, annotazione...ma in pratica?

    Grazie andbin sei sempre un pozzo di conoscenza da cui attingere all'infinito. Ora rifletto su quanto mi hai detto ed eventualmente attingo )
Devi accedere o registrarti per scrivere nel forum
2 risposte