Messaggio di errore

  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_display has a deprecated constructor in include_once() (linea 3469 di /home/cmswiki/public_html/includes/bootstrap.inc).
  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_many_to_one_helper has a deprecated constructor in require_once() (linea 127 di /home/cmswiki/public_html/sites/all/modules/ctools/ctools.module).

OOP in Java: Classi e Oggetti

 

In questa parte vedremo come vengono realizzati i concetti della OOP in Java.

Definire una classe

La definizione di una classe in Java avviene tramite la parola chiave class seguita dal nome della classe. Affinché una classe sia visibile ad altre classi e quindi istanziabile è necessario definirla public:
 
public class Prima
{
}
[adsense:block:adcontenuto]
 
N.B. In Java ogni classe deriva dalla classe base cosmica Object: quindi anche se non lo scriviamo esplicitamente, il compilatore si occupa di stabilire la relazione di ereditarietà fra la nostra classe e la classe Object! Le parentesi { e } individuano l’inzio e la fine della classe ed, in generale, un blocco di istruzioni.
È bene usare la lettera maiuscola iniziale per il nome della classe; inoltre il nome della classe deve essere lo stesso del nome del file fisico, cioé in questo caso avremmo Prima.java. Affinché una classe realizzi un ADT è necessario definire i dati e le operazioni.

Garantire l’incapsulamento: metodi pubblici e attributi privati

 

Come si è detto, uno dei princìpi della OOP è l’incapsulamento: quindi è necessario definire dati (membri nella terminologia Java) privati e le operazioni (detti anche metodi in Java) pubbliche.
Definiamo l’ADT Persona in Java; per adesso supponiamo che la persona abbia tre attributi nome, cognome, anni e due metodi creaPersona(...) e stampaDati(...):
 
[adsense:block:adcontenuto]
 
public class Persona
{
/* questo metodo inizializza gli attributi nome,
cognome ed anni
*/
public void creaPersona(String n,String c,int a)
{
nome = n;
cognome = c;
anni = a;
}
// questo metodo stampa gli attributi
public void stampaDati()
{
System.out.println("Nome: "+nome);
System.out.println("Cognome: "+cognome);
System.out.println("Età: "+anni);
}
// attributi
private String nome;
private String cognome;
private int anni;
}
 
Abbiamo definito quindi gli attributi private ed i metodi public: l’incapsulamento è garantito!
 
Riflettiamo un attimo sulla sintassi:
 
attributi: la dichiarazione di un attributo richiede il modificatore di accesso (usare sempre private!), il tipo dell’attributo (String, int, etc. che può essere sia un tipo primitivo che una classe - ed il nome dell’attibuto (anni, nome, etc.);
metodi: la dichiarazione di un metodo richiede invece: il modificatore di accesso (può essere sia public che private, in questo caso però il metodo non potrà essere invocato da un oggetto - è bene usarlo per “funzioni di servizio”), il tipo di ritorno che può essere: o un tipo primitivo o una classe o void: cioè il metodo non restituisce alcuna informazione.
 
Se il tipo di ritorno è diverso da void, deve essere usata l’istruzione return valore_da_restituire; come ultima istruzione del metodo; il valore_da_restituire deve avere un tipo in match col tipo di ritorno (devono essere gli stessi tipi). Segue quindi il nome del metodo e fra parentesi tonde si specificano gli argomenti (anche detti firma del metodo): anche essi avranno un tipo (primitivo o una classe) ed un nome; più argomenti vanno separati da una virgola. La lista degli argomenti può essere vuota.
 
Nel nostro caso gli argomenti passati al metodo creaPersona(...) servono per inizializzare gli attributi: con l’assegnamento nome = n; stiamo dicendo che all’attributo nome stiamo assegnandogli la variabile n. // viene usato per i commenti su una singola linea, mentre /* e */ vengono usati per scrivere commenti su più linee (il compilatore ignora i commenti).
 
Il metodo println(...) della classe System è usato per scrivere l’output a video e + serve per concatenare stringhe.
La classe, così come è stata definita, non serve ancora a molto: vogliamo creare oggetti che siano istanze di questa classe, sui quali possiamo invocare dei metodi.
 
L'articolo verrà continuato al più presto!

 

Risorse per sviluppo: 

Ti potrebbero anche interessare:

Nuovo Algoritmo di Google che vede oggetti nei video e nelle immagini

Google si fa gli occhi.

Si chiama Automatic Large Scale Video Object Recognition (Riconoscimento automatico su larga scala di oggetti video) il nuovissimo algoritmo gia brevettato da Google che avrebbe l'incredibile capacità di poter leggere direttamente nei video e nelle immagini.

Blog: 

Creare un sito multilingua in Drupal

[toc]

Descrizione

In questa guida viene spiegato come realizzare un [[sito]] sviluppato in Drupal che abbia come target principale utenti che parlano l'italiano, con contenuti tradotti anche in inglese ed in spagnolo.
L'articolo presuppone che abbiate già installato Drupal 6.x, localizzato in lingua italiana.
Il procedimento che seguiremo è il seguente:
  • Installiamo le traduzioni di Drupal
Drupal: 

Formati di input in Drupal: Configurazione

I formati di input in Drupal definiscono un modo di processare il testo generato dall'utente.
Ogni filtro è progettato per compiere un compito preciso, e generalmente rimuove o aggiunge elementi al testo prima che esso venga visualizzato.
Drupal di base offre due formati di input "Filtered Html" e "Full Html" e
Drupal: 

Imparare a guadagnare con Google Adsense: Strumenti e Risorse iniziali

Imparare a guadagnare con Google Adsense è probabilmente il modo più semplice per fare soldi online. Ci sono tantissimi modi per guadagnare su internet ma il modo forse più automatico possibile è proprio il servizio offerto da Google e che prende il nome di Adsense.

In questo articolo vi mostrerò tutto quello che serve per fare soldi con Google Adsense e, soprattutto, i consigli e i metodi usati personalmente per iniziare a guadagnare velocemente con la pubblicazione degli annunci.

Internet Marketing: 

L’algoritmo DES (Data Encryption Standard) e altri algoritmi a chiave simmetrica

Si tratta di un algoritmo a chiave simmetrica proposto da IBM nel 1975 e accettato come standard nel 1977 e da allora, e fino a tempi recenti, è stato utilizzato dagli enti governativi americani (e da altri) per cifrare dati sensibili.

Risorse per sviluppo: 

Codice Poligrafico: La Scacchiera di Polibio

Il più antico codice poligrafico (sostituzione di tipo multiplo) è probabilmente la scacchiera di Polibio. Lo storico greco Polibio (~200-118AC), nelle sue Storie (Libro X) descrive un cifrario che attribuisce ai suoi contemporanei Cleoxeno e Democleito: l'idea è quella di cifrare una lettera con una coppia di numeri compresi tra 1 e 5, secondo la descrizione di una scacchiera 5x5.

Risorse per sviluppo: