Corso di Javascript, lesson n° 4

Naviga SWZ: Home Page » Articoli
Articolo del 18 Ottobre 06 Autore: Alberto
Categoria: windows
Inserisci un commento sul forum Commenta la News sul Forum

Gli oggetti in Javascript

Tutto il mondo intorno a noi è formato da oggetti: computer, libri, automobili, ecc. 


Quello che contraddistingue un oggetto sono le sue caratteristiche con le quali possiamo interagire. Un libro è un oggetto generico. Un libro di lettura, con copertina in cartoncino di color azzurro, con titolo "Alice nel paese delle meraviglie", con 100 pagine, in italiano è un libro reale con il quale è possibile aprirlo, chiuderlo, mettere un segnalibro ad una determinata pagina.


Un oggetto possiede delle proprietà  e dei metodi. Le proprietà sono le caratteristiche dell´oggetto. I metodi sono le funzionalità o comportamenti offerti dall´oggetto.


Javascript è un linguaggio basato sugli oggetti, è quindi possibile utilizzare proprietà e metodi degli oggetti predefiniti del linguaggio Javascript come pure crearne di nuovi e personali.


Ogni oggetto, compresi quelli predefiniti, possiede una funzione speciale chiamata costruttore che viene utilizzata per creare gli oggetti. Ad esempio per creare una variabile stringa si è soliti scrivere:



    var nome = "Alberto"



ma Javascript possiede un oggetto predefinito che adempie a quella funzione e che viene comunque richiamato internamente quando adoperiamo la precedente sintassi: l´oggetto String. Ecco come si può riscrivere la precedente dichiarazione:



    var nome = new String("Alberto")



In tale dichiarazione si nota la parola chiave new che impartisce l´ordine a Javascript di creare un nuovo oggetto, in questo caso String. In termini tecnici si dice che è stata creata una nuova istanza dell´oggetto String. Questo tipo di sintassi è la base per tutti gli oggetti predefiniti di Javascript (Date, Array, String,  Math, ecc) come pure degli oggetti personalizzati creati dall´utente.


Come abbiamo detto ogni oggetto possiede delle proprietà; fondamentalmente esse sono delle variabili contenute nell´oggetto ed alle quali è possibile assegnare o leggerne il valore. Ad esempio un oggetto String possiede la proprietà length (lunghezza) che fornisce la dimensione della stringa ossia da quanto caratteri essa è composta. Ad esempio il seguente frammento di codice permette di stampare la lunghezza della precedente stringa nome



    document.write(nome.length)



e produrrà come output il valore 7.


Un oggetto può anche contenere dei metodi che sono in sostanza funzioni atte ad eseguire istruzioni utilizzando le proprietà dell´oggetto. Un metodo degli oggetti String è il metodo toUpperCase che converte una stringa in lettere maiuscole. Continuando colla stringa precedente



    document.write(nome.toUpperCase())



Un quest´altro esempio riferito all´oggetto Math, si utilizza il metodo round  per arrotondare un numero all´intero più vicino



    var numero = 2.77;     numero = Math.round(numero) ;      document.write(numero);



produrrà come output il numero 3


La creazione di oggetti personalizzati può essere determinata da esigenze fra le più diverse. Per poter illustrare adeguatamente la creazione di un oggetto personalizzato provvederemo a creare una Rubrica, ossia una collezione di nomi, indirizzi e numeri di telefono di qualsivoglia numero di persone. La creazione del database può essere effettuata in tante modalità. Ad esempio se si utilizzassero delle comune variabili si potrebbe creare una serie di variabili alle quali assegnare il nome ed email. 



Un miglioramento potrebbe essere quello di utilizzare un array per i nomi, uno per le email.

Utilizzando gli oggetti invece creeremo un oggetto record che possiederà le proprietà nome, email ; provvederemo inoltre a creare un metodo di stampa per tale oggetto, incaricato di stampare sul documento i dati del record.


La prima operazione a livello logico, sarà quella di individuare le proprietà dell´oggetto record. Come detto queste saranno:

  • nome

  • email

Per utilizzare quest´oggetto in Javascript dovremmo creare un costruttore dell´oggetto, in pratica una funzione che provveda a creare i nuovi oggetti record. La funzione costruttore sarà costituita da tanti parametri quante sono le proprietà, proprietà che verrano dichiarate mediante la parola chiave this; ecco come



    function record(nome, email) {
            this.nome = nome;
            this.email = email;
        }



questa funzione non fa altro che accettare due parametri  (tanti quante le proprietà dell´oggetto) e li assegna come proprietà dell´oggetto mediante la parola chiave this  che viene utilizzata per far riferimento all´oggetto in uso.


Si procede quindi alla creazione di un  metodo che permetta di stampare il contenuto di ogni record. Ecco uno dei modi possibili



    function stampa () {
        riga1 = "<b>Nome: </b>" + this.nome + "<br>";
        riga2 = "<b>Email: </b>" + this.email + "<br>" + "<hr>";
        document.write(riga1,riga2);
    }
 

questa funzione provvede a scrivere su due righe il Nome e l´Email che compongono ciascun record, formattando opportunamente il testo e separandolo dal successivo con una riga.


Adesso dobbiamo provvedere ad inserire il metodo nell´oggetto record. Questo avverrà modificando la funzione costruttore come segue



      function record(nome, email) {
                this.nome = nome;
                this.email = email;
                this.stampa = stampa;
        }



A questo punto i passi necessari al completamento dell´oggetto sono già stati completati.


Per poter utilizzare ora il nuovo oggetto creato occorre istanziare ovverosia creare una nuova istanza dell´oggetto. Ciò si ottiene, come per gli oggetti predefiniti di Javascript visti all´inizio della lezione,  con la parola chiave new, in questo modo



    alberto = new record("alberto","alberto@swzone.it")



il nuovo oggetto alberto è una nuova istanza dell´oggetto record. Come per le variabili, ci possono essere più istanze  dell´oggetto record nello stesso script. Per completezza d´informazione si deve dire che l´istanza suddetta può essere creata anche in quest´altra forma

   
    alberto = new record();
    alberto.nome = "alberto";
    alberto.email = "alberto@swzone.it"



Per applicare il metodo stampa al nuovo oggetto creato si procede in questo modo:



    alberto.stampa();



che produrrà il seguente risultato



    Nome: alberto
    Email: alberto@swzone.it
 

Ecco quindi l´esempio15 opportunamente documentato







[  [1] 2     Successiva »   ]

Pagine Totali: 2

La Community di SWZone.it

La community con le risposte che cerchi ! Partecipa é gratis !
Iscrizione ForumIscriviti al Forum

Newsletter

Vuoi ricevere tutti gli aggiornamenti di SWZone direttamente via mail ?
Iscrizione NewsletterIscriviti alla Newsletter