Casting tra oggetti

Con il termine casting si intende la promozione implicita o esplicita delle variabili affinché possano restituire un risultato omogeneo nelle operazioni tra loro. Può infatti accadere che una variabile di tipo int debba essere sommata ad una variabile di tipo long (primitive widening) e via dicendo…Quando ciò accade uno dei membri dell’operazione viene promosso al …

Gli array in Java

Per quanto questa guida cerchi di raggruppare tutti gli argomenti legati alla logica di base all’interno della sezione dedicata, é necessario, fare brevi cenni alle differenze in Java rispetto ad altri linguaggi. Gli array in Java sono sostanzialmente identici agli altri linguaggi con la sola differenza che in Java gli array sono anch’essi oggetti che …

Derivazione ed ereditarietà

Il concetto di ereditarietà vuole che da una classe base si possano derivare infinite altre classi capaci di estenderne e specializzarne i contenuti. Nella programmazione ad oggetti esistono diversi tipi di ereditarietà, singola e multipla. il linguaggio Java non supporta l’ereditarietà multipla, per cui parleremo solo di quella singola. Data una classe base: L’estensione di …

Ciclo di vita degli oggetti

La gestione della memoria in Java é automatica. Ogni volta che viene creato un oggetto Java alloca una congrua quantità di memoria inizializzando il suo ciclo di vita. Quando questo diventa inutile questo viene eliminato attraverso un metodo nativo della JVM denominato garbage collector, prima di eliminarlo però ne esegue il metodo finalize se questo …

Concetti fondamentali nella programmazione ad oggetti

Incapsulamento Il concetto di incapsulamento comporta che attributi e proprietà di un oggetto siano accessibili solo attraverso i metodi dell’oggetto stesso, escludendo che questi possano essere raggiunti direttamente, secondo il proncipio dell’information hiding, quel principio che vorrebbe che la maggior parte delle informazioni siano occultate tanto per una questione di semplificazione quanto per un fatto …

Le strutture di controllo

L’istruzione condizionale If L’ istruzione condizionale if esegue un determinato blocco di codice se la condizione é vera. L’istruzione if/else Molto simile al costrutto if, ma offre un codice alternativo nel caso che la condizione espressa tra parentesi sia false. Il costrutto switch Il costrutto switch rappresenta la soluzione migliore qualora si voglia eseguire la …

Le Stringhe

In Java le stringhe non sono tipi primitivi ma appartengono alla classe String. Vengono memorizzate in un’area di memoria chiamata string pool. Se tue variabili di tipo stringa hanno il medesimo contenuto, puntano alla stessa identica area di memoria. Esistono due modi per creare una stringa, il primo é scrivendola direttamente nel codice, il secondo …

Operazioni sui dati

Operatori aritmetici Le principali operazioni avvengono mediante operatori matematici tipici, come somma, sottrazione, moltiplicazione, divisione ed elevamento a potenza. il simbolo % (modulo) restituisce il resto di una divisione tra due operandi. Le conversioni Le operazioni sono possibili solo tra tipi di dato omogenei, per questo, laddove ne si esegua una tra tipi non omogenei, …

Variabili e tipi primitivi

Gli identificatori Quando viene dichiarata una variabile, un metodo, un attributo o una classe bisogna definire un identificatore (un nome). A tal scopo si possono utilizzare i seguenti caratteri: Gli identificatori devono iniziare con una lettera e non possono contenere parole chiave che sono riservate nel linguaggio Java. E’ altresì importante ricordare che il linguaggio …

OOP – La programmazione orientata agli oggetti

Java é un linguaggio di programmazione orientata agli oggetti, vale a dirsi che la soluzione al problema concreto passa attraverso la definizione per astratto di una serie di oggetti che cooperando, raggiungono il risultato computazionale previsto. L’oggetto Secondo la definizione di Booch un oggetto é un elemento caratterizzato da uno stato, un comportamento e un’identità. …