Я пытаюсь понять Mixins в контексте scala. В частности, я хотел знать разницу между концепциями наследования и Mixins. Wiki говорит, что существует важная разница между понятиями mixins и наследования, и поэтому я хотел ее понять.
В определении Mixin в wiki говорится:
Класс mixin действует как родительский класс, содержащий требуемые функциональные возможности. Подкласс может затем наследовать или просто повторно использовать эту функциональность , но не как средство специализации. Как правило, mixin будет экспортировать желаемую функциональность в дочерний класс, не создавая жесткую, единственную связь "есть". Здесь важное различие между понятиями mixins и inheritance заключается в том, что дочерний класс все еще может наследовать все функции родительского класса, но семантика о ребенке "является своего рода" родителем не обязательно обязательно применяется.
В приведенном выше определении я не могу понять утверждения, выделенные жирным шрифтом. что это означает, что
- Подкласс может наследовать функциональность в mixin, но не как средство специализации
- В mixins ребенок наследует все функции родительского класса, но семантика о том, что ребенок "является видом", не обязательно должен применяться родитель. - Как ребенок может продлить родителя, а не обязательно своего рода Родитель? Есть ли такой пример.
Заранее благодарим за любые разъяснения по поводу вышеизложенного.