Differenze tra le versioni di "Java/Classi e oggetti"

m
<br/>
Con l'evolversi dell'informatica e il crescere della complessità delle applicazioni, i programmatori hanno trovato sempre più difficile trovare gli errori nei codici già scritti, riutilizzare codice scritto per altri programmi e modificare funzionalità già esistenti senza effetti collaterali imprevedibili.
 
 
La soluzione a questi problemi è rendere la programmazione più '''astratta''' e '''modulare'''. Se un codice è diviso in parti ben precise che si occupano di aspetti specifici dell'applicazione e queste parti presentano all'esterno delle interfacce che specificano '''quali''' operazioni possano compiere (specifica), indipendentemente da '''come''' poi le compiano (implementazione) poi è più facile per il programmatore individuare un errore o riutilizzare delle funzionalità, proprio perché circoscriverà la manipolazione alla parte che gli serve.
 
 
Immaginiamo di dover fare un programma per gestire gli stipendi: creeremo un vettore di stringhe per il nome, un altro per il cognome e un vettore di int per gli stipendi. Dopo aver creato i codici che chiedono i dati e li inseriscono o li mostrano a richiesta il programma funziona e siamo contenti.
 
Si noti che dentro la classe abbiamo definito delle variabili che rappresentano le caratteristiche (dette '''attributi''') di un dipendente.
Osserviamo che le dichiarazioni di variabili sono precedute dalla parola <source lang=java>'''public</source>''': significa che il valore dell'attributo sarà modificabile dall'esterno della classe (la possibilità di leggere e scrivere un attributo è detta '''visibilità'''). Altre visibilità possibili sono:
{| border="1"
|'''modificatore di visibilità'''
27

contributi