文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.2 Mixin
Mixin 是将超类参数化的类声明。当类的继承层次结构中存在共享部分,而单继承又不足以表达时,mixin 可以组合创建新类。
因为我们的类由函数实现的,是一等的值(first-class value),所以 mixin 的实现是“免费的”。
(define (foo-mixin cl)
(CLASS cl (....) (....)))
(define (bar-mixin cl)
(CLASS cl (....) (....)))
(define Point (CLASS () ....))
(define foobarPoint
(foo-mixin (bar-mixin Point)))
(define fbp (foobarPoint 'create))
....
Mixin 和接口结合,可以检查给定的基类是否实现了一组特定的接口。定义 MIXIN 语法形式:
(MIXIN (interface-expr ...) decl ...)
这应该是个函数,其输入是基类,先检查该基类实现了所有指定的接口,然后返回(用给定的声明)扩展基类所得的新类。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论