<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.widged.com/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.widged.com/wiki/feed.php">
        <title>widged wiki</title>
        <description></description>
        <link>http://www.widged.com/wiki/</link>
        <image rdf:resource="http://www.widged.com/wiki/lib/images/favicon.ico" />
       <dc:date>2012-05-19T01:47:27-07:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:mechanism&amp;rev=1334484305&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:overview&amp;rev=1334482229&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits&amp;rev=1334475801&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.widged.com/wiki/doku.php?id=en:computers:lg:actionscript:actionscript-3:spark:partadded&amp;rev=1332471751&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.widged.com/wiki/lib/images/favicon.ico">
        <title>widged wiki</title>
        <link>http://www.widged.com/wiki/</link>
        <url>http://www.widged.com/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:mechanism&amp;rev=1334484305&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-15T03:05:05-07:00</dc:date>
        <dc:creator>Marielle Lange</dc:creator>
        <title>en:techniques:programming:object-oriented:inheritance:traits:mechanism</title>
        <link>http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:mechanism&amp;rev=1334484305&amp;do=diff</link>
        <description>traits



Explicit composition


Derived traits can be built from an unordered list of parent traits, together with new method declarations. 

(source: FeatherTrait: a modest extension of Featherweight Java, PDF)

With traits, the behavior of a class is specified as the composition of traits and some glue methods that are implemented at the level of the class. These glue methods connect the traits together and can serve as accessor for the necessary state. The semantics of such a class is define…</description>
    </item>
    <item rdf:about="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:overview&amp;rev=1334482229&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-15T02:30:29-07:00</dc:date>
        <dc:creator>Marielle Lange</dc:creator>
        <title>en:techniques:programming:object-oriented:inheritance:traits:overview</title>
        <link>http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits:overview&amp;rev=1334482229&amp;do=diff</link>
        <description>traits





Why traits?

Traits are a programming language technology that promote the reuse of methods between unrelated classes.

(source: Applying Traits to the Smalltalk Collection Classes, pdf)

Traits are intended as fine-grained units of code reuse. In essence, traits are first class collections of methods that can be reused by classes anywhere in the inheritance hierarchy.</description>
    </item>
    <item rdf:about="http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits&amp;rev=1334475801&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-15T00:43:21-07:00</dc:date>
        <dc:creator>Marielle Lange</dc:creator>
        <title>en:techniques:programming:object-oriented:inheritance:traits</title>
        <link>http://www.widged.com/wiki/doku.php?id=en:techniques:programming:object-oriented:inheritance:traits&amp;rev=1334475801&amp;do=diff</link>
        <description>object-oriented, inheritance, traits




	*  Why, What, When
	*  Composition Mechanisms
	*  Implementation
	*  Concerns

Traits vs Class


A class has contradicting goals

	*  Generator of instances
		*  Must be complete
		*  Must have a unique place in the class hierarchy</description>
    </item>
    <item rdf:about="http://www.widged.com/wiki/doku.php?id=en:computers:lg:actionscript:actionscript-3:spark:partadded&amp;rev=1332471751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-22T20:02:31-07:00</dc:date>
        <dc:creator>Marielle Lange</dc:creator>
        <title>en:computers:lg:actionscript:actionscript-3:spark:partadded</title>
        <link>http://www.widged.com/wiki/doku.php?id=en:computers:lg:actionscript:actionscript-3:spark:partadded&amp;rev=1332471751&amp;do=diff</link>
        <description>Why use partAdded rather than HostComponent to call a function? (from MXML)
What are the disadvantage and disadvantage. 

Answer


Note. The major project in Flex 4 was one that required no skinning. A research tool for academic clients. Complex functionalities but no design. The default Spark look and feel was just fine. Other projects in Flex 4 were about taking over from other developers, getting the app to work. Skinnable components were mostly simple (pretty buttons), not composite.</description>
    </item>
</rdf:RDF>

