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.
|