<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.lalex.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>LAlex devblog v6 - Interfaces et héritage : compilo : 1 - LAlex : 0  - Commentaires</title>
  <link>http://blog.lalex.com/</link>
  <atom:link href="http://blog.lalex.com/feed/rss2/comments/235" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Fri, 28 Nov 2008 07:30:10 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1521</link>
    <guid isPermaLink="false">urn:md5:cc55b5e3ca383c1ae3cab702a8f84950</guid>
    <pubDate>Tue, 03 Aug 2004 13:59:49 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;Oui, pour les matrices, je profite du fait qu'elles ne contiennent que des nombres pour considérer que le fait de dupliquer le tableau produit un clone ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt; Pour la classe &lt;em&gt;Grid,&lt;/em&gt; c'est plus tendencieux déjà ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_redface.gif&quot; alt=&quot;:$&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Une autre manière de faire pourrait consister à créer une classe avec une méthode statique qui puisse cloner un objet ... Cette méthode manipulerait les prototypes, donc il s'agirait d'un hack pour AS2, mais éviterait de toucher aux objets natifs ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Evidemment, une méthode clone() pour les objets natifs serait vraiment idéale ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_cool.gif&quot; alt=&quot;8)&quot; class=&quot;smiley&quot; /&gt; Ca fait d'ailleurs partie des améliorations à mon avis indispensables pour la prochaine version de Flash ... :o&lt;/p&gt;&lt;p&gt;Merci pour le complément d'infos zwetan ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1517</link>
    <guid isPermaLink="false">urn:md5:fb39ffaaffa405d62d612cb55a191c47</guid>
    <pubDate>Mon, 02 Aug 2004 11:10:10 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;faire un tour dans le code source du .NET framework ca peut pas mal aider pour concevoir ce genre de fonctionnalité&lt;/p&gt;&lt;p&gt;Shared Source Common Language Infrastructure 1.0 Release&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&amp;displaylang=en&quot; rel=&quot;nofollow&quot;&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&amp;displaylang=en&lt;/a&gt;&lt;/p&gt;&lt;p&gt;pour ce qui des copie, il faut pas oublier non plus comment se comporte ECMAscript,&lt;br /&gt;toutes les primitives sont automatiquement copiée en &quot;deep&quot;, cad la valeur est copiée et il n'y a plus de lien vers la reference d'origine, mais des qu'on copie autre chose qu'une primitive on a d'office un lien de reference.&lt;/p&gt;&lt;p&gt;si on prends le cas de la class Array,&lt;br /&gt;faire un clone ce serait copier tous les elements de l'array (a 1 dimension) sans se soucier de leur type, et le fonctionnement interne de ECMAscript fait le boulot a notre place.&lt;/p&gt;&lt;p&gt;Par contre si on veut faire une &quot;deep copy&quot; d'une Array, là il faut forcer la copie des elements qui ne sont pas des primitives, car le but est d'avoir une copie complete de la valeur de l'element et de perdre le lien vers sa reference.&lt;br /&gt;(utile quand on veut travailler sur un objet et faire des modifs sans modifier la source d'origine)&lt;/p&gt;&lt;p&gt;Et amha pour bien faire fonctionner tout ca, il faut ajouter des methodes comme copy et/ou clone aux core object, car si en .NET on a des methodes copy ou memberwiseClone pour la class Object, en ECMAscript on les a pas.&lt;/p&gt;&lt;p&gt;D'ou pourquoi mes ralages a repetition contre AS2, en ECMascript on peut modifier facilement les core object comme Object, Array, String etc...&lt;br /&gt;sauf que y a plein de gens qui nous sortent que ah bah nan il ne faut pas modifier les classs AS2 par defaut, ah nan faut surtout pas y toucher et que si on le fait on a rien a compris a l'OO, car la bonne maniere de faire c'est de faire de l'heritage ou de la composition etc...&lt;/p&gt;&lt;p&gt;Dans un cas comme la copie d'object, c'est tres dur d'avoir une architecture propre et facile d'utilisation si justement on ne modifie pas ces core Object ECMAscript.&lt;br /&gt;Oui c'est bien beau d'avoir une interface ICloneable, mais si elle n'est pas implémentée dans les objets par defaut ca ne sert pas a grand chose.&lt;/p&gt;&lt;p&gt;exemple:&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;Array&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;clone&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;concat&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;et&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;Array&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;copy&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; arr, i;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; arr = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;Array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; i=&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;; i&amp;lt;this.&lt;span style=&quot;color: #0066CC;&quot;&gt;length&lt;/span&gt;; i++ &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arr&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;copy&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; arr;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;this[i].copy() permet de justement ne pas s'occuper du type que l'on veut copier,&lt;br /&gt;mais pour que ca marche il faut que au moins tous les core object aient une methode copy defini dans leur class par defaut.&lt;br /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - iteratif</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1508</link>
    <guid isPermaLink="false">urn:md5:654c37a23b4700f411659aa929f45a59</guid>
    <pubDate>Thu, 29 Jul 2004 21:38:12 +0000</pubDate>
    <dc:creator>iteratif</dc:creator>
    
    <description>&lt;p&gt;j'ai du mal faire ! désolé !!!&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - iteratif</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1507</link>
    <guid isPermaLink="false">urn:md5:f354ccf0a1c4e1c4978f4bef851039db</guid>
    <pubDate>Thu, 29 Jul 2004 21:37:09 +0000</pubDate>
    <dc:creator>iteratif</dc:creator>
    
    <description>&lt;p&gt;sur le site &lt;a href=&quot;http://www.dofactory.com&quot; rel=&quot;nofollow&quot;&gt;www.dofactory.com&lt;/a&gt; on trouve l'ensemble des Desgin patterns, à l'adresse :&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dofactory.com/patterns/patterns.aspx&quot; rel=&quot;nofollow&quot;&gt;http://www.dofactory.com/patterns/patterns.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;bonne lecture...&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1506</link>
    <guid isPermaLink="false">urn:md5:c773be66c7fc2ce14667acbd7deab3d0</guid>
    <pubDate>Thu, 29 Jul 2004 20:54:13 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;Wala, en français, ce pattern se nomme &quot;&lt;em&gt;Patron de méthode&lt;/em&gt;&quot; (Template method) ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - ekameleon</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1505</link>
    <guid isPermaLink="false">urn:md5:8d2113e727ed719670e13ca42a8c871e</guid>
    <pubDate>Thu, 29 Jul 2004 16:51:36 +0000</pubDate>
    <dc:creator>ekameleon</dc:creator>
    
    <description>&lt;p&gt;ok je comprend mieux &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; merci pour les infos &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1504</link>
    <guid isPermaLink="false">urn:md5:584797eaccdea9d0ba1fbadb7cec7320</guid>
    <pubDate>Thu, 29 Jul 2004 15:55:39 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;Exactement ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_cool.gif&quot; alt=&quot;8)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;Moi, je connaissais la traduction française du nom ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_redface.gif&quot; alt=&quot;:$&quot; class=&quot;smiley&quot; /&gt; je vous la donne ce soir, quand j'aurais mon bouquin sous la main ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - liguorien</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1503</link>
    <guid isPermaLink="false">urn:md5:ba668c80faa39ea385967371b1baa24d</guid>
    <pubDate>Thu, 29 Jul 2004 15:52:39 +0000</pubDate>
    <dc:creator>liguorien</dc:creator>
    
    <description>&lt;p&gt;je ne sais pas si c'est le pattern dont tu parles, mais ça lui ressemble beaucoup &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/TemplatePattern.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/TemplatePattern.htm&lt;/a&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1502</link>
    <guid isPermaLink="false">urn:md5:7e0be123c72f2217b1becce8028a894e</guid>
    <pubDate>Thu, 29 Jul 2004 15:45:34 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;Non, la méthode abstraite est le moyen de mettre le pattern en oeuvre, pas la pattern lui-même ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - liguorien</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1501</link>
    <guid isPermaLink="false">urn:md5:5c072b538bcbb792173887971bc1844c</guid>
    <pubDate>Thu, 29 Jul 2004 15:39:03 +0000</pubDate>
    <dc:creator>liguorien</dc:creator>
    
    <description>&lt;p&gt;[quote=&quot;LAlex&quot;:1f07931d13]Je ne me souvient plus du nom de ce pattern, qui requiert une implémentation dans les sous-classes, appelée par une méthode de la superclasse ...  :$[/quote]&lt;br /&gt;méthode abstraite? &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1500</link>
    <guid isPermaLink="false">urn:md5:4f6f177e92efe064844cf09204d01ac7</guid>
    <pubDate>Thu, 29 Jul 2004 15:35:37 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;D'ailleurs, voila un exemple AS1 de &quot;deep copy&quot; : &lt;a href=&quot;http://www.shockwave-india.com/blog/actionscript/?asfile=Object-clone.as&quot; rel=&quot;nofollow&quot;&gt;http://www.shockwave-india.com/blog/actionscript/?asfile=Object-clone.as&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Facile quand on a pas les contraintes du typage ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1499</link>
    <guid isPermaLink="false">urn:md5:302d2b8755c21a4e9ca5364439b41e59</guid>
    <pubDate>Thu, 29 Jul 2004 15:32:14 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;zwetan &gt; J'ai bien compris ca ! En fait, la classe Grid est un tableau à 2 dimensions. Je me contente donc de recopier les valeurs de chaque case en bouclant sur le tableau d'origine avec un simple =. Il s'agit donc d'une copie &quot;simple&quot; (ce que tu nommes &quot;shallow copy&quot;). Pour la grille, c'est pas forcément l'idéal. Mais pour Matrix, je teste le typage des éléments, donc ca ne contient que des &lt;em&gt;Number&lt;/em&gt; ... Donc, la différence entre &quot;shallow&quot; et &quot;deep&quot; n'existe pas dans ce cas ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Enfait, histoire de récupérer un bon type, et de ne pas avoir besoin de recoder &quot;clone&quot; pour chaque classe, j'ai crée une méthode privée &lt;em&gt;newClone()&lt;/em&gt;, qui renvoie une nouvelle instance avec les bonnes dimensions. La méthode &lt;em&gt;clone()&lt;/em&gt; appelle ensuite cette méthode newClone dans le bon contexte, ce qui me permet d'avoir un clone bien typé. Je ne me souvient plus du nom de ce pattern, qui requiert une implémentation dans les sous-classes, appelée par une méthode de la superclasse ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_redface.gif&quot; alt=&quot;:$&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Voici l'état actuel du code :&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; net.&lt;span style=&quot;color: #006600;&quot;&gt;lalex&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;data&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Grid&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;extends&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;Array&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;implements&lt;/span&gt; net.&lt;span style=&quot;color: #006600;&quot;&gt;lalex&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;interfaces&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;ICloneable&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Constructeur, etc...&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; newClone&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;span style=&quot;color: #0066CC;&quot;&gt;Object&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Grid&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;_gridWidth, _gridHeight&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Retourner un clone de la grille&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; clone&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;span style=&quot;color: #0066CC;&quot;&gt;Object&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; ret:Grid = Grid&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;newClone&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ret.&lt;span style=&quot;color: #006600;&quot;&gt;copyFrom&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; ret;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Copy les éléments d'une autre grille&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; copyFrom&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;g:Grid&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;span style=&quot;color: #0066CC;&quot;&gt;Void&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; i:&lt;span style=&quot;color: #0066CC;&quot;&gt;Number&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; ; i &amp;lt; _gridWidth ; i++&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; k:&lt;span style=&quot;color: #0066CC;&quot;&gt;Number&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; ; k &amp;lt; _gridHeight ; k++&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;k&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = g&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;k&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; net.&lt;span style=&quot;color: #006600;&quot;&gt;lalex&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;maths&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Matrix&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;extends&lt;/span&gt; Grid &lt;span style=&quot;color: #0066CC;&quot;&gt;implements&lt;/span&gt; ICloneable &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Code, etc...&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; newClone&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;span style=&quot;color: #0066CC;&quot;&gt;Object&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Matrix&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;_gridHeight, _gridWidth&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;eka &gt; En gros, la différence, c'est est-ce que tu clones les références aussi, ou juste l'objet, dont les références seront les mêmes ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;Si ton objet contient des objets en tant que propriété, ton clone doit-il cloner ces objets, ou pointer vers les mêmes ? C'est toute la différence. On peut dire que la &quot;deep copy&quot; est un clonage recursif ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - ekameleon</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1498</link>
    <guid isPermaLink="false">urn:md5:8a4847cb6f4f08079edda8a485476f82</guid>
    <pubDate>Thu, 29 Jul 2004 15:01:44 +0000</pubDate>
    <dc:creator>ekameleon</dc:creator>
    
    <description>&lt;p&gt;&lt;quote&gt;une &quot;shallow copy&quot; et une &quot;deep copy&quot; c'est TRES different&lt;/quote&gt;&lt;br /&gt;tu peux en dire + là dessus &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; cela m'intéresse &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1497</link>
    <guid isPermaLink="false">urn:md5:32fea8ed9867ca9f4d85dc4f30ba5ae2</guid>
    <pubDate>Thu, 29 Jul 2004 14:44:35 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;une Interface c'est juste un contrat&lt;/p&gt;&lt;p&gt;si telle Interface possede la methode &quot;clone&quot;&lt;br /&gt;alors le contrat est que chaque class implementant cette Interface doit posseder une methode &quot;clone&quot;&lt;/p&gt;&lt;p&gt;que la methode soit directement implémentée dans la class ou héritée ou autre, le contrat est respecté&lt;br /&gt;donc normal qu'il n'y ait pas d'erreur de compilation.&lt;/p&gt;&lt;p&gt;par contre dans ton code attention a ca:&lt;br /&gt;ret.copyFrom( this );&lt;/p&gt;&lt;p&gt;est-ce que le &quot;this&quot; est dans le contexte de la class Grid ou de la class Matrix ? &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_biggrin.gif&quot; alt=&quot;:D&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;par contre là où tu risque d'avoir des problemes c'est quand tu lanceras &quot;clone&quot; depuis la class Matrix&lt;br /&gt;qui appelera &quot;copyFrom&quot; et que l'argument de copyFrom demandera un type Grid (a moins bien sur que tu implementes une methode copyFrom specialement pour la class Matrix)&lt;/p&gt;&lt;p&gt;et attention aussi a bien faire la difference entre un &quot;clone&quot; et un &quot;copy&quot;,&lt;br /&gt;une &quot;shallow copy&quot; et une &quot;deep copy&quot; c'est TRES different ;).&lt;br /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1496</link>
    <guid isPermaLink="false">urn:md5:a89de64a1bc66084baf58aab87c1c00c</guid>
    <pubDate>Thu, 29 Jul 2004 11:40:21 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;En effet, AS2 ne permet pas de faire des classes abstraites, et je connais la méthode de petepx ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Mais dans ce cas précis, elle ne pourras pas fonctionner, étant donné que le compilateur parcoure toute la chaine d'héritage. Le méthode de petepx se base sur le fait qu'on puisse utiliser une propriété en tant que fonction ...&lt;/p&gt;&lt;p&gt;De plus, je vais avoir un sacré panel d'héritage, alors je me vois mal faire un classe abstraite entre chaque héritage. Ce serait déjà trés lourd au niveau code (en AS2, une classe abstraite = une classe + une interface) pour pas grand chose, mais également beaucoup moins performant, étant donné la longueur de la chaine de prototypes à parcourir si on veut utiliser les méthodes de la classe la plus haute (dans mon cas : Grid) ...&lt;/p&gt;&lt;p&gt;Tant pis ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - Steph</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1495</link>
    <guid isPermaLink="false">urn:md5:96e26e2372bc7b3194c30ceda886d74b</guid>
    <pubDate>Thu, 29 Jul 2004 10:15:50 +0000</pubDate>
    <dc:creator>Steph</dc:creator>
    
    <description>&lt;p&gt;Sauf erreur de ma part &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; il est conceptuellement impossible de FORCER une surcharge de methode en AS2 sauf ... si tu utilise des classes abstraites !!&lt;br /&gt;Donc dans ton cas Matrix doit etendre une class Abstraite qui etend elle meme Grid qui etend ton interface &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;Je crois avoir vue une explication des classes abtraites et la facon d'en faire sur le blog de tweenPix car AS2 ne te permet pas directement d'en creer il me semble.&lt;br /&gt;J'espere avoir ete clair.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - liguorien</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1494</link>
    <guid isPermaLink="false">urn:md5:12b29cb9110547d406149b2327cd478a</guid>
    <pubDate>Wed, 28 Jul 2004 21:34:08 +0000</pubDate>
    <dc:creator>liguorien</dc:creator>
    
    <description>&lt;p&gt;&lt;quote&gt;Attention cette classe doit avoir SA méthode clone (et pas celle de la super classe)&lt;/quote&gt;&lt;br /&gt;ben elle l'a SA méthode clone, elle l'a emprunter de SA super classe! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt; &lt;br /&gt;&lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Interfaces et héritage : compilo : 1 - LAlex : 0 - yoy</title>
    <link>http://blog.lalex.com/post/2004/07/28/Interfaces-et-hritage-%3A-compilo-%3A-1-LAlex-%3A-0#c1493</link>
    <guid isPermaLink="false">urn:md5:36a9693398d9c0c9da04b4460d5968e8</guid>
    <pubDate>Wed, 28 Jul 2004 21:16:14 +0000</pubDate>
    <dc:creator>yoy</dc:creator>
    
    <description>&lt;p&gt;salut, &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;En faite est que faudrait pas que ce soit Grid qui doivent implementer Iclonable plutot ? &lt;br /&gt;Parce que meme si d'un point de vue logique de compilo ca passe...  je trouve bizarre d'implementer une interface et de pas redéfinir les méthodes de l'interface dans la classe en question...&lt;br /&gt;Je vois plutot l'interface comme un moyen de dire&lt;br /&gt;Attention cette classe doit avoir SA méthode clone (et pas celle de la super classe)&lt;/p&gt;&lt;p&gt;En tout cas c'est bien intéressant.&lt;br /&gt;a+ &lt;/p&gt;</description>
  </item>
      
</channel>
</rss>