Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 9 Dicembre 2018 dalle 19:59:39 alle 20:46:13

Stefano Salvi
Io ci sono. Scusate l\'inconveniente.
Hai avvisato gli altri?
Lorenzo PIRRI
Buonasera prof
Federico DI GIACOMO
si ho avvisato prof, chi ha bisogno sta arrivando
Andrea POTITO
Buonasera prof
Stefano Salvi
Buonasera e scusatemi ancora. Stavo facendo un lavoro e non ho visto l\'ora.
Forza con le domande.
Lorenzo PIRRI
Io ho una domanda...quale sarebbe la differenza esatta che c€كȠtra C e Javascript? Perché in classe temo di aver perso qualche concetto
Andrea POTITO
cosa vuol dire che il java script è "loosly typed"?
Federico DI GIACOMO
può fare un esempio di domanda teorica su javascript?
Lorenzo PIRRI
Io ho una domanda
Qual è la differenza tra C e Javascript?
Dal punto di vista teorico
Stefano Salvi
Difficile fare un esempio. Più che sul javascript le domande sarannp su interpretato vs comilato e loosely typed vs strictly typed.
Andrea POTITO
Cos\'è il poliformismo?
Stefano Salvi
Pirri: ci sono molte differenze. Le principali sono le due che ho appena citato: C è compilato e strictly typed mentre javascript è interpretato e loosely typed. Inoltre Javascript incorpora gli oggetti mentre C no (dovrei passare al c++ per averli).
Riccardo MIRANDOLA
Buonasera prof. Potrebbe dirmi per cortesia chw relazione c e tra oggetto istanza e classe?
Lorenzo PIRRI
Ok grazie mille
Stefano Salvi
Potito: il polimorfismo è la proprietà per la quale un\'istanza di una classe che deriva da un\'altra è anche un\'istanza della classe padre.
Federico DI GIACOMO
grazie
Andrea POTITO
Ok grazie mille
Cos\'è il DOM?
Diego LORENZI
Buona sera prof
Stefano Salvi
Potito: il Document Object Model (o DOM) è la descrizione della pagina in termini di gerarchia di oggetti. Per modificare elementi in un a pagina dobbiamo accedere al suo DOM e chiamare metodi/alterare proprietà degli oggetti che ci interessano (come mad esempio cambioarne il conteiuto cambiano il valore dell\' "innerHTML")
Andrea POTITO
cosa vuol dire che il java script è "loosly typed"?
Stefano Salvi
Mirandola: "ogetto" è un nome generico che eviteremo di utilizzare. "Classe" è il modello di un "oggetto", "Istanza" è un esemplare di un "oggetto" creato utilizzando come modello al sua classe.
Riccardo MIRANDOLA
Capito. Grazie. Come funziona document. Write?
Stefano Salvi
Potito: javascript è "lossely typed" in quanto non donbbiamo mai dichiarare il tipo di una variabile. Ogni variabile è "generica" e può contenere dati di qualunque tipo. Posso anche mettere un dato di un tipo in una variabile e successivamente metterne uno di un tipo diverso.
Mirandola: Per cominciare, "document" è l\'oggetto radice del DOM, quello al quale sono associati tutti gli altri, direttamente o indirettamente. Deto questo, document.write consente di "scrivere nella pagina html". Di fatto agigunge codice alla pagina nel punto esatto dove viene utilizzato.
Andrea POTITO
Quindi io posso fare x=12 e poi successivamente fare x=\'a\'? Perchè io negli appunti ho scritto che la variabile non ha un tipo, ma il suo contenuto sì
Riccardo MIRANDOLA
Grazie. Se ad esempio volessi paragonare una classe a una struct gli attributi corrispondono alle variabili presenti nella struct?
Stefano Salvi
Potito: si, esattamente, in un programma javascript io posso prima associare 12 alla variabile x e successivamente "a" (che è una stringa e non un singolo carattere). La variabile x conterrà prima un intero e poi una stringa...
Andrea POTITO
ma dopo che passo a x=\'a\', posso operare ancora sul 12?
Stefano Salvi
Mirandola: si, gli attributi corrispondono ai cami (n on variabili) della struct. Una struct è un tipo (strutturato) ed anche una classe lo è. Un\'0istanza è un valere il cui tipo è la classe (non una variabile ma il suo contenuto è un\'istanza).
Riccardo MIRANDOLA
Capito. Come faccio a far derivare una classe o un metodo da un altra?
Stefano Salvi
Potito: x è sempre e comunque un contenitore per dati. Se ho spostituoito il contento di x, il 12 non c\'è più ma al suo posto c\'è "a". Se faccio un\'operazione che richiede un operatore intero o mi da errore oppure converte "a" in intero (con valore 0). Se non ricordo male javascript da errore (lancia un\'eccesione che posso vedere nella console del browser) mentre php converte la stringa in numero (ma lo vedremo più avanti).
Andrea POTITO
Va bene grazie mille
Stefano Salvi
Mirandola: la sintassi per indicare che una classe deriva da un\'altra dipende dal lingiaggio. In C++ si usa il : (class pippo: pluto indica che la classe pippo deriva da pluto), in php e in java si usa la parola chiave "extends" (class pippo extends pluto vuol dire che pippo deriva da pluto). In javascript esiste un modo, ma così brutto, che mi vien fin paura...
Riccardo MIRANDOLA
Ahah ok, capito. Grazie
Stefano Salvi
Mirandola: per quanto riguarda i metodi, se in una classe figlia definisco un metodo con lo stesso nome (e magari con gli stessi parametri) di uno esistente nella classe padre, lo ridefinisco. Il modo in cui nella classe figlia, nel metodo rifefinito richiamo il metodo originale dipende dal linguaggio.
Riccardo MIRANDOLA
Perfetto, grazie
Andrea POTITO
ma in questo caso il metodo della classe padre si cancella? se sì, si cancella nella classe padre, figlia o per entrambe?
Riccardo MIRANDOLA
Come funziona alert?
Stefano Salvi
Potito: nella classe figlia il metodo originale "si cancella" nel senso che viene sostiutito da quello ridefinito, nella classe padre no, resta, tanto è vero che nella classe figlia lo posso riciamare.
Mirandola: alert serve per fare comparire un messaggio in una finestrella sopra la pagina HTML. Se in un certo momento eseguo ad esempio "alert(\'Attento!!!\');" in quel momento verrà aperta una finestrella contenete il messaggio "Attento!!!" ed un bottone di chiusura. Ovviamente tra le parentesi posso mettere anche una variabile stringa, o bene o male quel ch emi pare, che verrà stampato nella finestrella.
Riccardo MIRANDOLA
E un altra domanda. Dal momento che le variabili in Javascript non hanno tipo... In memoria hanno tutte un peso fisso oppure viene calcolato in base a quello che ci metto dentro
Grazie
Stefano Salvi
Mirandola: le variabili in menoria penso siano puntatori ad una classe "variabile" dalla quale derivca una classe "variabile intera" ed una "variabile stringa" ed una.... Inoltre, visto che le posso definire di mano in mano, probabilmente stanno in un array con il loro nome, per venire cercate.... (ma stiamo un po\' divagando...)
Speo che i file li abbiate capiti...
Riccardo MIRANDOLA
Capito
Stefano Salvi
Allora, siamo a posto? Ci sono altre domande?
Riccardo MIRANDOLA
Io sono a posto così, la ringrazio
Buona serata prof!
Stefano Salvi
Ok, allora buona cena (se non l\'avete già fatta), buon riposo e in bocca la lupo.

[Ritorna all'elenco sessioni]