Salve,
Ho da poco cominciato con Java.
Chiedo se qualcuno potrebbe spiegarmi con esempi la differenza tra definizione e dichiarazione di un'entità.
Grazie mille
Salve,
Ho da poco cominciato con Java.
Chiedo se qualcuno potrebbe spiegarmi con esempi la differenza tra definizione e dichiarazione di un'entità.
Grazie mille
La differenza è principalmente "linguistica" (proprio in senso di lingua italiana) e in parte "tecnica" se si chiarisce anche l'ambiente che si sta usando.Originariamente inviato da parzi
Chiedo se qualcuno potrebbe spiegarmi con esempi la differenza tra definizione e dichiarazione di un'entità.
Per dichiarazione si intende: dire che c'è "qualcosa" ma senza darne la concretezza in termini di cosa fa esattamente o cosa contiene.
Per definizione si intende: fornire concretamente quel "qualcosa" descrivendo esattamente cosa contiene o cosa fa.
Nei linguaggi di programmazione C/C++ c'è esattamente questa distinzione. Si può ad esempio "dichiarare" una funzione (senza fornire il suo "corpo") e poi più avanti nello stesso sorgente (o anche in un sorgente separato) fornire una "definizione", cioè concretizzare la funzione scrivendo il suo corpo completo.
Nel linguaggio Java non c'è propriamente questa distinzione. Ovvero generalmente quando dichiari qualcosa lo definisci anche. L'unico punto su cui mi verrebbe il dubbio a livello concettuale è se la indicazione di un metodo "astratto" (o "nativo" che è diverso ma con un concetto simile) sia da considerare solo "dichiarazione" e non definizione.
Dopotutto in questi casi non si fornisce in quel momento il "corpo" del metodo ... che invece sarà di certo definito altrove!
Seguendo questo criterio, direi di sì, è solo "dichiarazione". Concordate?
Comunque p.s.: se hai capito almeno la differenza a livello linguistico/concettuale sei a posto.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Grazie mille..
Più o meno avevo capito però una cosa non mi è chiara..
Sul mio libro trovo che:
int x;
è sia dichiarazione che definizione. Perchè?
Io ero convinto che:
int x;
fosse una dichiarazione come ad esempio un metodo in un'interfaccia
public void topolino(){}
mentre
int x=0; definizione come ad esempio il metodo sopra indicato con il proprio corpo
public void topolino(){
.......
}
è giusto come la penso?
o è giusto che dice il libro?
Grazie mille per le risposte