ミックスインって何ぞや...(書きかけ)
1.背景
scala を勉強したく適当にやってて
implicitって何だろうという感じになった
いや,ちょっと待て...traitもわからないぞ?
それで,ggったりコップ本を読んだりしていた
しかもミックスインってなんだよ...状態
これはもはや,どうすればいいのかわからない(´・ω・)
そこで,まずはtraitからやろうかなと思い立ったわけなんだけど,これ継承や合成をひとまずやってからやった方がよかったんだろうか…
2.継承でミックスイン?
REPLでちょっと適当に遊んでみた
trait Funabashi def ad() { println("船橋市の名産は梨だよ!") } }
extendsを使えばトレイトを"ミックスイン"できるらしい
class Funassy extends Funabashi { override def toString = "ふなっしぃなっしーーーーー!!!!!!!" }
これで適当に実行する
scala> val funassy = new funassy fanassy: Funassy = ふなっしぃなっしーーーーー!!!!!!! scala>funassy.ad() 船橋市の名産は梨だよ!
こんな感じで実行できた(適当)
トレイトから継承したメソッドad()がスーパークラスから継承したメソッドのように使えるみたい(これじゃ普通のクラスとあんまり変わりないじゃん?)
”ミックスイン”って何かと思ったけど,トレイトで宣言した関数を子クラス?側で使うことが出来るから混ぜ合わせた感じになってるからミックスインなのかな?
もう少し続きを後で書こうと思う