什么是mixin


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/08/14/%E4%BB%80%E4%B9%88%E6%98%AFmixin/

摘要

本文主要讲述了:

  1. 什么是 mixin
  2. 示例

正文

在面向对象程序设计中,mixin(或 mix-in)是一种特殊的类,mixin 实现了方法供其他类使用,但其他类不必通过继承而可以通过包含来获取这些方法。换句话说,mixin 不必成为其他类的父类。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const obj1 = {
name: 'Marcus Aurelius',
city: 'Rome',
born: '121-04-26',
};

const mix1 = {
toString() {
return `${this.name} was born in ${this.city} in ${this.born}`;
},
age() {
const year = new Date().getFullYear();
const born = new Date(this.born).getFullYear();
return year - born;
},
};

// 将mix1复制到obj1,从此obj1获得了toString()和age()两个方法且mix1也不是obj1的父类
Object.assign(obj1, mix1);

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/08/14/%E4%BB%80%E4%B9%88%E6%98%AFmixin/


本文对你有帮助?请支持我


支付宝
微信