|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
[Java]Differenza fra classi astratte e interfacce
Ciao a tutti!
Per entrare a far parte del mondo android sto approfondendo, o meglio, studiando java, le cui mie conoscenze si limitavano solo a qualche script javascript. La mia intenzione sarebbe quella di completarne una conoscenza generale e poi approfondire bene tutti gli argomenti. Mi sono trovato di fronte alle classi astratte e alle interfacce. Nonostante abbia capito la differenza fra le due circa i limiti che queste offrono, non ho capito che senso possa avere usare un'interfaccia piuttosto che una classe astratta. Stando a quello che ho capito una classe può derivare più interfacce ma non più classi. È solo questa la ragione? Altrimenti che senso avrebbe definire una interfaccia quando si potrebbe definire una classe astratta con solo metodi astratti? Spero possiate chiarirmi le differenze |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
No. Con le classi astratte valgono comunque tutte le questioni legate all'ereditarietà quindi oltre che un contratto da rispettare (cosa che alla fine è un interfaccia) una classe astratta ti permette di far ereditare attributi e metodi già implementati. In altre parole con una classe astratta puoi fare questo
Codice:
public abstract class a1234 {
protected int a=10;
public void pippo(){
System.out.println("182");
}
public int getA() {
return a;
}
public abstract void toDo() ;
}
con le interfaccie invece questo giochino non lo puoi fare
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
La differenza è quella [edit: detta da Mattyfog]. La praticità delle interfacce emerge solo quando il sistema che scrivi supera una certa complessità - nel senso della quantità di definizioni e di combinazioni di quelle definizioni - e dipende dal fatto che all'aumentare della complessità del sistema il numero di funzioni tende a diventare costante mentre il numero di combinazioni di quelle funzioni cresce sempre. Le interfacce ti servono in concreto per evitare la duplicazione delle funzioni di base.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:33.




















