Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    interfaccie e classi astratte

    Ciao a tutti.
    Che differenza c'è tra interfaccie e classi astratte?
    Intendo la differenza a livello teorico.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Con le classi astratte si parla di ereditarietà (relazione "is a"), mentre l'implementazione di interfacce garantisce solo la coerenza (funzionale) al tipo interfaccia.

    Si ragioni sulla terminologia. Con "classe" si indica un modello per descrivere oggetti di un certo tipo, quindi una classe astratta mantiene il concetto; per interfaccia si intende un'altra cosa.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: interfaccie e classi astratte

    Originariamente inviato da devil89
    Ciao a tutti.
    Che differenza c'è tra interfaccie e classi astratte?
    Intendo la differenza a livello teorico.

    Grazie
    Tecnicamente una interfaccia è equivalente ad una classe astratta in cui ci sono gli stessi metodi tutti marcati 'abstract'.

    Le differenze sono a livello concettuale per quando riguarda le relazioni tra le varie entità in gioco. Per le interfacce si parla di "comportamento". Se implemento l'interfaccia X, dichiaro di comportarmi come X. Per le classi entra in gioco la questione della ereditarietà. Ad esempio nella libreria Swing di Java, la classe JComponent è astratta. La sotto-classe JLabel quindi "è-un" JComponent.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.