<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Codeflyer.Com</title>
	<atom:link href="http://www.codeflyer.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.codeflyer.com</link>
	<description>Il mio blog!!</description>
	<pubDate>Wed, 15 Apr 2009 22:33:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wii - Gioie e&#8230; dolori</title>
		<link>http://www.codeflyer.com/?p=32</link>
		<comments>http://www.codeflyer.com/?p=32#comments</comments>
		<pubDate>Thu, 14 Dec 2006 17:44:43 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=32</guid>
		<description><![CDATA[L&#8217;euforia di gioco sta facendo danni in giro per il mondo.
Su questo sito trovate una raccolta di foto e testimonianze relative ai danni che i giocatori hanno fatto.
Televisori rotti, ginocchia lussate, occhi neri. 
www.wiihaveaproblem.com
]]></description>
			<content:encoded><![CDATA[<p>L&#8217;euforia di gioco sta facendo danni in giro per il mondo.</p>
<p>Su questo sito trovate una raccolta di foto e testimonianze relative ai danni che i giocatori hanno fatto.</p>
<p>Televisori rotti, ginocchia lussate, occhi neri. </p>
<p><a href="http://www.wiihaveaproblem.com/">www.wiihaveaproblem.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=32</wfw:commentRss>
		</item>
		<item>
		<title>Wii - Problemi con la wireless</title>
		<link>http://www.codeflyer.com/?p=31</link>
		<comments>http://www.codeflyer.com/?p=31#comments</comments>
		<pubDate>Fri, 08 Dec 2006 23:53:30 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=31</guid>
		<description><![CDATA[Ho avuto qualche problema a connettere la mia console alla rete.
Leggendo qua e la per la rete ho trovato questo link che mi ha risolto il problema.
Fondamentalmente è stato sufficente impostare l&#8217;access point in modo che potesse funzionare anche con 802.11b e soprattutto modificare il canale di trasmissione.
Il link segnalatovi consiglia di mettere sul canale [...]]]></description>
			<content:encoded><![CDATA[<p>Ho avuto qualche problema a connettere la mia console alla rete.</p>
<p>Leggendo qua e la per la rete ho trovato questo <a href="http://www.amazon.com/gp/discussionboard/discussion.html?ie=UTF8&#038;cdForum=Fx1D5FVR0TDJZT9&#038;asin=B0009VXBAQ&#038;cdThread=Tx194OXX4R1RD3G">link</a> che mi ha risolto il problema.</p>
<p>Fondamentalmente è stato sufficente impostare l&#8217;access point in modo che potesse funzionare anche con 802.11b e soprattutto modificare il canale di trasmissione.<br />
Il link segnalatovi consiglia di mettere sul canale 1 oppure sul 11. Il primo tentativo è fallito miseramente, ma il secondo ha funzionato alla perfezione.</p>
<p>Ora sono connesso.<br />
Il Wii mi ha già fatto un paio di aggionramenti e mi ha abilitato lo Shop.</p>
<p>Il meteo e le news invece sono ancora disabilitati.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=31</wfw:commentRss>
		</item>
		<item>
		<title>Wii - Prima esperienza</title>
		<link>http://www.codeflyer.com/?p=30</link>
		<comments>http://www.codeflyer.com/?p=30#comments</comments>
		<pubDate>Fri, 08 Dec 2006 23:42:59 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=30</guid>
		<description><![CDATA[Il Nintendo Wii, a differenza delle altre console di nuova generazione, non ha cercato il successo pompando i chip grafici e mostrando una grafica strabiliante bensì ha introdotto un rivoluzionario sistema di controllo.
Per i pochi che non lo sapessero i giochi della Wii si comandano con un controllo che ricorda molto il telecomando di una [...]]]></description>
			<content:encoded><![CDATA[<p>Il Nintendo Wii, a differenza delle altre console di nuova generazione, non ha cercato il successo pompando i chip grafici e mostrando una grafica strabiliante bensì ha introdotto un rivoluzionario sistema di controllo.<br />
Per i pochi che non lo sapessero i giochi della Wii si comandano con un controllo che ricorda molto il telecomando di una TV e che possiede un rivelatore di posizione e di orientamento.<br />
Non ponendo come punto di forza, per l&#8217;appunto, la grafica, era difficile valutare la console dai pochi video che si trovavano in giro per la rete e solamente una prova personale può far capire la validità o meno del prodotto.</p>
<p>Il primo gioco che abbiamo provato è stato il Wii Play.</p>
<p>Il WiiPlay è un gioco che vendono insieme ad un controller ed è composto da una serie di giochini semplici e divertenti che hanno come unico scopo quello di farti impratichire con il controller.</p>
<p>Da segnalare in particolare la versione elettronica dell&#8217;hockey da salagiochi, quello che si gioca con il disco su un tavolo che crea un cuscinetto d&#8217;aria.</p>
<p>La prima impressione non è stata, a dire la verità, entusiasmante. Probabilmente ancora non eravamo abituati ai nuovi controlli.</p>
<p>Poi&#8230;&#8230;</p>
<p><span id="more-30"></span></p>
<p>Abbiamo messo su i giochi sportivi, quelli che sono in bundle con la console.</p>
<p>Abbiamo lanciato il Tennis.</p>
<p>Abbiamo iniziato la partita.</p>
<p>Non ci sono parole!!</p>
<p>Quello che avevamo provato la prima volta in cui abbiamo visto il video un paio di mesi fa si è concretizzato. L&#8217;esperienza è strabiliante, nonostante il gioco sia abbastanza semplice e poco vario.<br />
Anche il Baseball e il Golf sono iperrealistici. Un po&#8217; di delusione invece per la box, non abbiamo capito bene il sistema con cui ci si mena e le mosse appaiono a prima vista un po&#8217; casuali.</p>
<p>Comuque, riassumento, console promossa a pieni voti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=30</wfw:commentRss>
		</item>
		<item>
		<title>Wii - Preparazione</title>
		<link>http://www.codeflyer.com/?p=29</link>
		<comments>http://www.codeflyer.com/?p=29#comments</comments>
		<pubDate>Fri, 08 Dec 2006 23:27:02 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=29</guid>
		<description><![CDATA[Finalmente a casa, sono tornato bambino. 
Mentre aspetto uno degli amici che hanno fatto con me l&#8217;acquisto, Marco, apro velocemente la scatola e preparo la console.
La console è sobria, essenziale e incredibilemente piccola, soprattutto se paragonata all&#8217;Xbox 360.
Si monta in un attimo e mentre aspetto che Marco arrivi, non voglio iniziare a giocare senza di [...]]]></description>
			<content:encoded><![CDATA[<p>Finalmente a casa, sono tornato bambino. </p>
<p>Mentre aspetto uno degli amici che hanno fatto con me l&#8217;acquisto, Marco, apro velocemente la scatola e preparo la console.<br />
La console è sobria, essenziale e incredibilemente piccola, soprattutto se paragonata all&#8217;Xbox 360.<br />
Si monta in un attimo e mentre aspetto che Marco arrivi, non voglio iniziare a giocare senza di lui, provo a collegarla alla rete.<br />
La Nintendo ha messo in vendita la console ad un prezzo veramente stracciato e quindi non mi meraviglio se nella scatola non c&#8217;è l&#8217;adattatore per la connessione alla Lan. Tento di configurare al volo l&#8217;access point e faccio un paio di prove ma nulla da fare, la console non ne vuole sapere di attaccarsi alla rete. Non vede l&#8217;access point.</p>
<p>Non poteva andare tutto liscio, ma al momento non mi preoccupo.<br />
Marco suona e trova in casa mentre impreco contro la DLink!! (Alla fine colpa non è dell&#8217;access point, ma lo scoprirò più tardi!)</p>
<p>Siamo pronti, si inzia a giocare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=29</wfw:commentRss>
		</item>
		<item>
		<title>Wii - La ricerca</title>
		<link>http://www.codeflyer.com/?p=28</link>
		<comments>http://www.codeflyer.com/?p=28#comments</comments>
		<pubDate>Thu, 07 Dec 2006 17:13:51 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=28</guid>
		<description><![CDATA[Dopo una lunga attesa è finalmente arrivato il Nintendo Wii.
La ricerca, per lo meno a Bologna, è stata piuttosto ardua. Inizialmente l&#8217;avevo ordinato, insieme ad un paio di amici, da un noto rivenditore informatico italiano, un grossista. Alla fine il prezzo a cui l&#8217;avremmo pagato sarebbe stato lo stesso ma l&#8217;idea di averlo qualche giorno [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo una lunga attesa è finalmente arrivato il Nintendo Wii.</p>
<p>La ricerca, per lo meno a Bologna, è stata piuttosto ardua. Inizialmente l&#8217;avevo ordinato, insieme ad un paio di amici, da un noto rivenditore informatico italiano, un grossista. Alla fine il prezzo a cui l&#8217;avremmo pagato sarebbe stato lo stesso ma l&#8217;idea di averlo qualche giorno prima non ce l&#8217;ha fatto pensare 2 volte. Purtroppo, come ci si poteva aspettare dal rivenditore (non è la prima volta che ci frega), i Wii non gli sono arrivati. Il fatidico giorno ho girato per i vari centri commerciali e Mediaworld di Bologna ma nulla da fare, erano tutti prenotati e i pochi pezzi non prenotati li avevano finiti immediatamente.</p>
<p>Nel primo pomeriggio faccio un ultimo tentativo e inizio a telefonare a tutti i Toys center nel raggio di 50 Km. Ne trovo un paio al Toys Center di Ferrara e li blocco subito. Nel frattempo scopro che ne hanno un po&#8217; di scorte all&#8217;Expert del centro Marco Polo.</p>
<p>Salto in macchina e a breve siamo in possesso dei tanto agognati Wii.</p>
<p>Insieme alla console mi compro anche il Wii Play, Reed Steel e Zelda.</p>
<p>Sono pronto per correre a casa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=28</wfw:commentRss>
		</item>
		<item>
		<title>Aggiungere al volo codice Javascript</title>
		<link>http://www.codeflyer.com/?p=5</link>
		<comments>http://www.codeflyer.com/?p=5#comments</comments>
		<pubDate>Thu, 14 Sep 2006 17:32:58 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=5</guid>
		<description><![CDATA[In ambito lavorativo, mi sono trovato a dover sviluppare un sistema AJAX based per la realizzazione automatica di wizard.
In breve, viene caricata una pagina contenitore che gestisce tramite operazioni asincrone il caricamento dei singoli step del wizard.
Le pagine HTML contenenti il layout vengono gestite in maniera molto semplice impostando la proprietà innerHTML di un dato [...]]]></description>
			<content:encoded><![CDATA[<p>In ambito lavorativo, mi sono trovato a dover sviluppare un sistema AJAX based per la realizzazione automatica di wizard.<br />
In breve, viene caricata una pagina contenitore che gestisce tramite operazioni asincrone il caricamento dei singoli step del wizard.<br />
Le pagine HTML contenenti il layout vengono gestite in maniera molto semplice impostando la proprietà innerHTML di un dato DIV.</p>
<div class="igBar"><span id="ljavascript-4"><a href="#" onclick="javascript:showPlainTxt('javascript-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-4">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> nuovaPagina = funzioneCheCaricaIlLayout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> container = document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'containerId'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">container.<span style="color: #006600;">innerHTML</span> = nuovaPagina; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Le cose però si complicano nel momento in cui si vogliono caricare al volo anche degli script. Al fine, per esempio, di effettuare una validazione sui campi della form.</p>
<p>Il metodo usato per l'HTML non funziona.<br />
Gli script vanno aggiunti in maniera differente.</p>
<p><span id="more-5"></span></p>
<p>E' necessario innanzi tutto creare un oggetto script, valorizzarne qualche proprietà, e poi aggiungerlo all'elemento 'head' della pagina.</p>
<p>Se si vuole aggiungere direttamente il testo dello script:</p>
<div class="igBar"><span id="ljavascript-5"><a href="#" onclick="javascript:showPlainTxt('javascript-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-5">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> nuovoScript = document.<span style="color: #006600;">createElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nuovoScript.<span style="color: #006600;">type</span> = <span style="color: #3366CC;">'text/javascript'</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nuovoScript.<span style="color: #006600;">text</span> = <span style="color: #3366CC;">'function nuovoAlert() {alert('</span>hello world<span style="color: #3366CC;">''</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #66cc66;">&#125;</span><span style="color: #3366CC;">';</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #3366CC;">document.getElementsByTagName('</span>head<span style="color: #3366CC;">')[0].appendChild(nuovoScript); </span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>...mentre se si desidera caricare lo script da un file esterno:</p>
<div class="igBar"><span id="ljavascript-6"><a href="#" onclick="javascript:showPlainTxt('javascript-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-6">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> nuovoScript = document.<span style="color: #006600;">createElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nuovoScript.<span style="color: #006600;">type</span> = <span style="color: #3366CC;">'text/javascript'</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">nuovoScript.<span style="color: #006600;">src</span> = <span style="color: #3366CC;">'http://url.contenente.lo.script'</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">document.<span style="color: #006600;">getElementsByTagName</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'head'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;color:#800000;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">appendChild</span><span style="color: #66cc66;">&#40;</span>nuovoScript<span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Questo sistema aggiunge gli script senza però preoccuparsi di cancellare i precedenti. Ciò non dovrebbe costituire un problema in quanto javacript permette di dichiarare più volte variabili e funzioni, tenento in considerazione solamente le ultime aggiunte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=5</wfw:commentRss>
		</item>
		<item>
		<title>Classi ed ereditarietà</title>
		<link>http://www.codeflyer.com/?p=3</link>
		<comments>http://www.codeflyer.com/?p=3#comments</comments>
		<pubDate>Tue, 29 Aug 2006 19:02:42 +0000</pubDate>
		<dc:creator>Davide Fiorello</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.codeflyer.com/?p=3</guid>
		<description><![CDATA[La gestione delle classi in javascript è leggermente diversa da quella a cui siamo abituati negli altri linguaggi di programmazione. Javascript, NON è un linguaggio class-basedì bensì un linguaggio prototype-based.
I linguaggi prototype-based, a differenza di quelli class-based, non fanno distinzione fra classi e istanze.
Ciò comporta non pochi problemi nell'utilizzo e bisogna fare molta attenzione.
Definiamo una [...]]]></description>
			<content:encoded><![CDATA[<p>La gestione delle classi in javascript è leggermente diversa da quella a cui siamo abituati negli altri linguaggi di programmazione. Javascript, NON è un linguaggio class-basedì bensì un linguaggio prototype-based.<br />
I linguaggi prototype-based, a differenza di quelli class-based, non fanno distinzione fra classi e istanze.<br />
Ciò comporta non pochi problemi nell'utilizzo e bisogna fare molta attenzione.</p>
<p>Definiamo una classe:</p>
<div class="igBar"><span id="ljavascript-14"><a href="#" onclick="javascript:showPlainTxt('javascript-14'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-14">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> Person<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span> = <span style="color: #3366CC;">""</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> = <span style="color: #CC0000;color:#800000;">15</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Person.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">setName</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>newName<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span> = newName;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Person.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">setAge</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>newAge<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> = newAge;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Abbiamo definito una classe MyClass con due campi (name e age) e due metodi (setName e setAge)<br />
<span id="more-3"></span><br />
Ora deriviamo la nostra classe:</p>
<div class="igBar"><span id="ljavascript-15"><a href="#" onclick="javascript:showPlainTxt('javascript-15'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-15">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> Male<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">gender</span> = <span style="color: #3366CC;">'M'</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Male.<span style="color: #006600;">prototype</span> = <span style="color: #003366; font-weight: bold;">new</span> Person<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>a questo punto utilizziamola:</p>
<div class="igBar"><span id="ljavascript-16"><a href="#" onclick="javascript:showPlainTxt('javascript-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-16">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> davide = <span style="color: #003366; font-weight: bold;">new</span> Male<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">davide.<span style="color: #006600;">setName</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"davide"</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">davide.<span style="color: #006600;">setAge</span><span style="color: #66cc66;">&#40;</span><span style="color: #CC0000;color:#800000;">35</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>davide.<span style="color: #000066;">name</span>+<span style="color: #3366CC;">" "</span>+davide.<span style="color: #006600;">age</span>+<span style="color: #3366CC;">" "</span>+davide.<span style="color: #006600;">gender</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Il risultato attteso sarà un bel pop-up contenente la string "davide 35 M";</p>
<p>...se aggiungiamo...</p>
<div class="igBar"><span id="ljavascript-17"><a href="#" onclick="javascript:showPlainTxt('javascript-17'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-17">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> marco= <span style="color: #003366; font-weight: bold;">new</span> Male<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">marco.<span style="color: #006600;">setName</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"marco"</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">marco.<span style="color: #006600;">setAge</span><span style="color: #66cc66;">&#40;</span><span style="color: #CC0000;color:#800000;">22</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>marco.<span style="color: #000066;">name</span>+<span style="color: #3366CC;">" "</span>+marco.<span style="color: #006600;">age</span>+<span style="color: #3366CC;">" "</span>+marco.<span style="color: #006600;">gender</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>il nuovo pop-up ci restituirà "marco 22 M";</p>
<p>E fin qua nulla di nuovo, i problemi sorgono quando nei campi ci sono degli oggetti un po' più complessi della semplice stringa e che vengono aggiornati senza utilizzare l'assegnamento.<br />
Quando si cerca di accedere al campo "nome" dell'oggetto di tipo "davide", viene verificata innanzitutto la presenza nella classe "Male", se non viene trovata si risale alla classe Person.<br />
Nel momento stesso in cui viene fatto l'assegnamento, tramite la setName, non viene aggiornato il valore ma viene creata una nuova proprietà nell'oggetto "davide" creato.<br />
L'effetto è molto più chiaro se utilizziamo un array.</p>
<p>Aggiungiamo alla nostra classe.</p>
<div class="igBar"><span id="ljavascript-18"><a href="#" onclick="javascript:showPlainTxt('javascript-18'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-18">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> Person<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span> = <span style="color: #3366CC;">""</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> = <span style="color: #CC0000;color:#800000;">15</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">preferredColors</span> = <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Person.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">addPreferredColor</span> = <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>color<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">preferredColors</span><span style="color: #66cc66;">&#91;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">preferredColors</span>.<span style="color: #006600;">length</span><span style="color: #66cc66;">&#93;</span> = color;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Person.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">printColors</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">return</span> ....<span style="color: #006600;">Una</span> stringa contenente la lista dei colori....</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>..ed utilizziamo la nuova funzionalità</p>
<div class="igBar"><span id="ljavascript-19"><a href="#" onclick="javascript:showPlainTxt('javascript-19'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-19">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #006600;">davide</span>.<span style="color: #006600;">addPreferredColor</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Giallo'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;davide.<span style="color: #006600;">addPreferredColor</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Rosso'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;marco.<span style="color: #006600;">addPreferredColor</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Nero'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>marco.<span style="color: #006600;">printColors</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Quello che ci si aspetterebbe in output è "Nero"</p>
<p>invece l'output sarà "Giallo, Rosso, Nero"</p>
<p><strong>Cos'è successo?</strong><br />
Nei due oggetti creati non era stata definita la proprietà "preferredColor" e quindi è stata utilizzata quella dell'oggetto "Person". In un linguaggio class-based non ci sarebbero stati problemi in quanto, essendo la classe separata dall'istanza, ogni oggetto avrebbe avuto il suo array. In javascript invece questa separazione non c'è e quindi la proprietò a cui accedono i due oggetti è lo stesso.</p>
<p><strong>Come si risolve?</strong><br />
Semplice, l'inizializzazione della proprietà va fatta nelle classi derivate e non nella classe madre.</p>
<div class="igBar"><span id="ljavascript-20"><a href="#" onclick="javascript:showPlainTxt('javascript-20'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-20">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> Person<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span> = <span style="color: #3366CC;">""</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> = <span style="color: #CC0000;color:#800000;">15</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> Male<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">gender</span> = <span style="color: #3366CC;">'M'</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">preferredColors</span> = <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>...mentre i metodi che lavorano con la proprietà in questione si possono tranquillamente lasciare nella classe madre.</p>
<p>Poco comodo, lo so, ma al momento è l'unico modo che ho trovato per farlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeflyer.com/?feed=rss2&amp;p=3</wfw:commentRss>
		</item>
	</channel>
</rss>

