Pertanyaan yang diberi tag mixins

955
Apa itu mixin, dan mengapa mereka berguna?

Dalam " Pemrograman Python ", Mark Lutz menyebutkan "mixins". Saya dari latar belakang C / C ++ / C # dan saya belum pernah mendengar istilah sebelumnya. Apa itu mixin? Membaca yang tersirat dari contoh ini (yang saya tautkan karena cukup panjang), saya anggap ini adalah kasus menggunakan multiple...

127
warisan ruby ​​vs mixins

Di Ruby, karena Anda dapat menyertakan beberapa mixin tetapi hanya memperpanjang satu kelas, sepertinya mixin akan lebih disukai daripada warisan. Pertanyaan saya: jika Anda menulis kode yang harus diperluas / dimasukkan agar bermanfaat, mengapa Anda membuatnya menjadi kelas? Atau dengan kata...

95
Mewarisi metode kelas dari modules / mixins di Ruby

Diketahui bahwa di Ruby, metode kelas diturunkan: class P def self.mm; puts 'abc' end end class Q < P; end Q.mm # works Namun, saya terkejut karena ini tidak berfungsi dengan mixin: module M def self.mm; puts 'mixin' end end class N; include M end M.mm # works N.mm # does not work! Saya...