多重継承できるinterfaceのdefault実装とmixinって本質的な違いあるのか?分からなくなってきた
多重継承できるinterfaceのdefault実装とmixinって本質的な違いあるのか?分からなくなってきた
Javaのdefault実装付きinterfaceは型を与えるとともに実装をmixinするから実質trait、という感じでいいのかな
あずにゃん (@ Austin Bouldering Project in Austin, TX) https://www.swarmapp.com/osa_k/checkin/5ce74a3d872f7d002c3bc6f2?s=WwzVi_b_j3Sv3w2Y9UEcWN1zynI
Wikipediaにはmixinは状態を持ち得るけどtraitは持たないって書いてあるな https://en.m.wikipedia.org/wiki/Trait_(computer_programming)
Javaのinterfaceのdefault実装に関して言えば、そもそもあれはinterfaceの宣言から自明な関数の実装を共有するためのものであって、非自明な処理をmixinするために使うのは悪手である、という気がしてきた
mixinが何であるか、という質問は、Rubyはクラス階層に他のクラス突っ込んで実装してるよで全てだと思う
あずにゃん (@ 888 Vietnamese Restaurant in Austin, TX) https://www.swarmapp.com/osa_k/checkin/5ce75dddfbcf0b002359ab26?s=iY4rvtd0zF242iff5eEEylbx1T0
Javaが「mixinとinterfaceとそれらを同時に適用する糖衣構文」じゃなくて「mixin付きinterface」しか作らなかったのが悪い気がしてきた