å°å¦çã®ãããæ¬å½ã«ãªãæ©è½
åãã¦scalaãã¿ã¦è¡æããããã®ãã
Traitã£ã¦æ©è½ã®withã使ã£ãMixinã
ãªãã¨ã¤ã³ã¹ã¿ã³ã¹ã«å¯¾ãã¦ã¯ã©ã¹ç¶æ¿ãããããªãã¨ãã§ããã
class Piyo(){ } trait Hoge(){ } var piyohoge = new Piyo with Hoge
ã¿ããã«ã
ã¤ã¾ãã
ãä¿ºãæ¨æ¥ãéæ³ä½¿ããã©ã¤ãã¤ã³è¦ãããï¼ï¼ã
ãã©ã¤ãã¤ã³ã¯åè
ãã使ããªããã ããããã«æ±ºã¾ã£ã¦ãã ãã¼ã¼ï¼ï¼ã
ã£ã¦ããã¹ãã¹ããªå°å¦çã®ãããã¾ããéãããã ã
class éæ³ä½¿ã{ } trait åè { def ã©ã¤ãã¤ã³ = ã } var xxããã¡ã®éæ³ä½¿ã = new éæ³ä½¿ã with åè
è¦ãããªæãã ãããã
éæ³ä½¿ããclassã§åè
ã¯traitã£ã¦ããããå¼·å¼ã§ã
å³å¯ã«ã¯ãã®ãã¨ãã¯ããã¦ãããããªæ°ããããã©ã
ã£ã¦è©±ãæ¨æ¥ãid:kanoukã¨é£²ãã§ãå¸ã§ããã¼ã ãã£ã¦ãã£ããã
ãããRubyã§ãã§ãã¾ããã£ã¦ãã£ããè¨ããã¦ãã¾ã£ãï¼ï¼
ããããã¨åæã«ããã£ã±Rubyã£ã¦ããã¼ãªãã¨é¢å¿ã