gpt4 book ai didi

scala - 抽象类和特征之间的区别

转载 作者:行者123 更新时间:2023-12-03 04:59:53 25 4
gpt4 key购买 nike

Possible Duplicate:
Scala traits vs abstract classes

抽象类和特征之间的概念区别是什么?

最佳答案

一个类只能extend one superclass ,因此只有一个抽象类。如果你想组合多个类,Scala 方法是使用 mixin class composition :您组合一个(可选)父类(super class)、您自己的成员定义和一个或多个 traits 。与类相比,特征受到限制,因为它不能具有构造函数参数(比较 scala reference manual )。

引入特征与类相比的限制是为了避免多重继承的典型问题。关于继承层次结构,存在或多或少复杂的规则;最好避免层级结构,因为这实际上很重要。 ;-) 据我了解,只有当您从两个不同的特征继承两个具有相同签名的方法/两个具有相同名称的变量时,这才有意义。

关于scala - 抽象类和特征之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2005681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com