<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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>Commenti a: Very short snippet: estendere un array Actionscript con il metodo shuffle()</title>
	<atom:link href="http://www.undolog.com/2009/04/02/very-short-snippet-estendere-un-array-actionscript-con-il-metodo-shuffle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.undolog.com/2009/04/02/very-short-snippet-estendere-un-array-actionscript-con-il-metodo-shuffle/</link>
	<description>Research &#38; Development  Blog</description>
	<lastBuildDate>Thu, 09 Feb 2012 11:24:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>Di: Giovambattista Fazioli</title>
		<link>http://www.undolog.com/2009/04/02/very-short-snippet-estendere-un-array-actionscript-con-il-metodo-shuffle/#comment-1925</link>
		<dc:creator>Giovambattista Fazioli</dc:creator>
		<pubDate>Mon, 27 Apr 2009 13:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.undolog.com/?p=1512#comment-1925</guid>
		<description>&lt;b&gt;@Carlo&lt;/b&gt;:
&lt;blockquote&gt;che vantaggio c’è nell’estendere una classe tramite il parametro prototype?&lt;/blockquote&gt;
Ciao Carlo, ottima osservazione! L&#039;uso di &lt;code inline=&quot;true&quot;&gt;prototype&lt;/code&gt; risale ai tempi in cui Actionscript non era ancora un linguaggio ad oggetti &quot;maturo&quot; come lo è la versione 3.0. Tuttavia, ancora oggi, l&#039;uso di &lt;code inline=&quot;true&quot;&gt;prototype&lt;/code&gt; si differenzia dall&#039;uso di &lt;code inline=&quot;true&quot;&gt;extends&lt;/code&gt; per creare una nuova classe &lt;code inline=&quot;true&quot;&gt;Array&lt;/code&gt; personalizzata come hai indicato tu. Il vantaggio, infatti, risiede nella possibilità di estendere indistintamente tutti gli &lt;code inline=&quot;true&quot;&gt;array&lt;/code&gt;, senza dover specificare il tipo di classe. Nel metodo che hai usato tu, che va benissimo ed è corretto, l&#039;uso di particolari metodi o proprietà rimane vincolato all&#039;interno della tua classe (la &lt;code inline=&quot;true&quot;&gt;MyArray&lt;/code&gt; per intenderci). Con l&#039;uso di prototype, invece, vengono estesi tutti gli array, anche quelli creati come:
[cc_actionscript3]var prova:Array = new Array()[/cc_actionscript3]
invece di scrivere
[cc_actionscript3]var prova:Array = new MyArray()[/cc_actionscript3]
il vantaggio nell&#039;uso o meno di &lt;code inline=&quot;true&quot;&gt;proptotype&lt;/code&gt; dipende dalla situazione, tuttavia in generale ci sono due motivi per preferire &lt;code inline=&quot;true&quot;&gt;proptotype&lt;/code&gt; all&#039;uso di classi estese:
- &lt;code inline=&quot;true&quot;&gt;proptotype&lt;/code&gt; meno codice da scrivere; basta la definizione
- codice già scritto ottiene l&#039;estensione senza doverlo modificare
Il secondo punto, a mio avviso, è il più interessante. Infatti permette di estendere gli oggetti base di Actionscriopt (come &lt;code inline=&quot;true&quot;&gt;MovieClip&lt;/code&gt; o &lt;code inline=&quot;true&quot;&gt;Array&lt;/code&gt;) su codice già scritto, senza doverlo modificare.
Per quanto riguarda l&#039;inserimento del codice, io uso un semplice file (tipo &lt;code inline=&quot;true&quot;&gt;array_ext.as&lt;/code&gt;) che includo nel costruttore del &lt;code inline=&quot;true&quot;&gt;Document Class&lt;/code&gt; o nel frame 0 a seconda del tipo di progetto.
Spero di aver risposto ai tuoi quesiti... se hai altre domande non esitare a conttatarmi.</description>
		<content:encoded><![CDATA[<p><b>@Carlo</b>:</p>
<blockquote><p>che vantaggio c’è nell’estendere una classe tramite il parametro prototype?</p></blockquote>
<p>Ciao Carlo, ottima osservazione! L&#8217;uso di <code class="codecolorer text default"><span class="text">prototype</span></code> risale ai tempi in cui Actionscript non era ancora un linguaggio ad oggetti &#8220;maturo&#8221; come lo è la versione 3.0. Tuttavia, ancora oggi, l&#8217;uso di <code class="codecolorer text default"><span class="text">prototype</span></code> si differenzia dall&#8217;uso di <code class="codecolorer text default"><span class="text">extends</span></code> per creare una nuova classe <code class="codecolorer text default"><span class="text">Array</span></code> personalizzata come hai indicato tu. Il vantaggio, infatti, risiede nella possibilità di estendere indistintamente tutti gli <code class="codecolorer text default"><span class="text">array</span></code>, senza dover specificare il tipo di classe. Nel metodo che hai usato tu, che va benissimo ed è corretto, l&#8217;uso di particolari metodi o proprietà rimane vincolato all&#8217;interno della tua classe (la <code class="codecolorer text default"><span class="text">MyArray</span></code> per intenderci). Con l&#8217;uso di prototype, invece, vengono estesi tutti gli array, anche quelli creati come:</p>
<div class="codecolorer-container actionscript3 vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> prova<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html"><span style="color: #004993;">Array</span></a> = <span style="color: #0033ff; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html"><span style="color: #004993;">Array</span></a><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span></div></td></tr></tbody></table></div>
<p>invece di scrivere</p>
<div class="codecolorer-container actionscript3 vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> prova<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html"><span style="color: #004993;">Array</span></a> = <span style="color: #0033ff; font-weight: bold;">new</span> MyArray<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span></div></td></tr></tbody></table></div>
<p>il vantaggio nell&#8217;uso o meno di <code class="codecolorer text default"><span class="text">proptotype</span></code> dipende dalla situazione, tuttavia in generale ci sono due motivi per preferire <code class="codecolorer text default"><span class="text">proptotype</span></code> all&#8217;uso di classi estese:<br />
- <code class="codecolorer text default"><span class="text">proptotype</span></code> meno codice da scrivere; basta la definizione<br />
- codice già scritto ottiene l&#8217;estensione senza doverlo modificare<br />
Il secondo punto, a mio avviso, è il più interessante. Infatti permette di estendere gli oggetti base di Actionscriopt (come <code class="codecolorer text default"><span class="text">MovieClip</span></code> o <code class="codecolorer text default"><span class="text">Array</span></code>) su codice già scritto, senza doverlo modificare.<br />
Per quanto riguarda l&#8217;inserimento del codice, io uso un semplice file (tipo <code class="codecolorer text default"><span class="text">array_ext.as</span></code>) che includo nel costruttore del <code class="codecolorer text default"><span class="text">Document Class</span></code> o nel frame 0 a seconda del tipo di progetto.<br />
Spero di aver risposto ai tuoi quesiti&#8230; se hai altre domande non esitare a conttatarmi.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Carlo</title>
		<link>http://www.undolog.com/2009/04/02/very-short-snippet-estendere-un-array-actionscript-con-il-metodo-shuffle/#comment-1924</link>
		<dc:creator>Carlo</dc:creator>
		<pubDate>Mon, 27 Apr 2009 12:55:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.undolog.com/?p=1512#comment-1924</guid>
		<description>Ciao, è da un po che leggo il tuo blog, che è molto ben curato e presenta un sacco di tips e idee non male. Devo chiederti una cosa su questo post, una cosa che non mi è chiara: che vantaggio c&#039;è nell&#039;estendere una classe tramite il parametro &lt;code inline=&quot;true&quot;&gt;prototype&lt;/code&gt;?
Io in genere uso una classe &lt;code inline=&quot;true&quot;&gt;&quot;MyArray extends Array&quot;&lt;/code&gt;, che implementa i metodi aggiuntivi che mi servono, e nei miei progetti istanzio quella. (Tanto grazie al polimorfismo le funzioni che vogliono un oggetto &lt;code inline=&quot;true&quot;&gt;Array&lt;/code&gt; la vedono come un &lt;code inline=&quot;true&quot;&gt;Array&lt;/code&gt;)
Utilizzando &lt;code inline=&quot;true&quot;&gt;prototype&lt;/code&gt; mi sembra di &#039;sporcare&#039; il mio design a oggetti (e, a parte, dove andrebbe inserito per essere più elegante possibile? Nel costruttore della Document Class? )

ti saluto, e ti ringrazio per le info :-)</description>
		<content:encoded><![CDATA[<p>Ciao, è da un po che leggo il tuo blog, che è molto ben curato e presenta un sacco di tips e idee non male. Devo chiederti una cosa su questo post, una cosa che non mi è chiara: che vantaggio c&#8217;è nell&#8217;estendere una classe tramite il parametro <code class="codecolorer text default"><span class="text">prototype</span></code>?<br />
Io in genere uso una classe <code class="codecolorer text default"><span class="text">&quot;MyArray extends Array&quot;</span></code>, che implementa i metodi aggiuntivi che mi servono, e nei miei progetti istanzio quella. (Tanto grazie al polimorfismo le funzioni che vogliono un oggetto <code class="codecolorer text default"><span class="text">Array</span></code> la vedono come un <code class="codecolorer text default"><span class="text">Array</span></code>)<br />
Utilizzando <code class="codecolorer text default"><span class="text">prototype</span></code> mi sembra di &#8216;sporcare&#8217; il mio design a oggetti (e, a parte, dove andrebbe inserito per essere più elegante possibile? Nel costruttore della Document Class? )</p>
<p>ti saluto, e ti ringrazio per le info <img src='http://www.undolog.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

