什么是混音(Mixin)?

在计算机程序设计中,mixin是一个由另一个类继承的类,但它并不打算被实例化。一个类可以继承多个mixin,因此可以很容易地合并许多函数集合。尽管许多常用编程语言都使用mixin方法,但还有更多的语言没有使用mixin方法,包括C...
在计算机程序设计中,mixin是一个由另一个类继承的类,但它并不打算被实例化。一个类可以继承多个mixin,因此可以很容易地合并许多函数集合。尽管许多常用编程语言都使用mixin方法,但还有更多的语言没有使用mixin方法,包括C和Java。一般来说,mixin存在于脚本语言或那些能够创建脚本的语言中,比如JavaScript和Perl。女人用计算机倒立mixin是独特的,因为它们在编译过程中成为子类的一部分。它们的方法和常量包含在子类中。mixin类的另一个独特特点是可以在运行时定义方法并将其绑定到对象上。大多数语言使用不同的方法、绑定和定义方法是在编译时而不是在运行时。这种运行时绑定允许mixin非常灵活。多重继承中的一个常见问题是方法调用的模糊性,mixin可以解决这个问题,因为它们不遵循与多重继承完全相同的规则。例如,多重继承可以创建一个所谓的“死亡钻石”,其中父类a有子类B和C,而类D继承自类B和C。这种情况下的问题是,类a、B和C中同名的方法都可以继承到类D中,使同一方法的多个版本没有明显的区别。mixin通过保持方法的每个版本不同而解决了这个问题,而不是像在标准多重继承中那样试图覆盖它们。mixin不会重写继承到的类中的方法例如,如果一个类a定义了一个方法“myMethod”,并且继承了一个定义了方法“myMethod”的mixin B,那么这两个方法仍然可以毫无歧义地被调用,而“myMethod”在类A中的实现仍然是完全可访问的,这些方法的调用方式取决于实现mixin的语言,使用接口来模拟它们。这些语言中的接口不能模拟mixin的全部功能,因为接口只能包含常量和方法声明。另一方面,mixin可以包含方法的完整实现。那些不支持mixin的语言通常都有可行的替代方案,可以加以哄骗做同样的事情
  • 发表于 2020-08-06 20:15
  • 阅读 ( 981 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具