gpt4 book ai didi

generics - 有没有使用泛型无法实现的 scala 抽象类型使用示例?

转载 作者:行者123 更新时间:2023-12-02 15:56:46 26 4
gpt4 key购买 nike

有两种可能的方式来表达类型的抽象。

abstract class Buffer {
type T
val element: T
}

而不是泛型,例如

abstract class Buffer[T] {
val element: T
}

我了解在不同情况下使用不同方法的可用性的好处。但我对绝对不可能将抽象类型版本转换为通用版本的示例感兴趣。

欢迎提供 PS 代码片段。

最佳答案

抽象类型可以绑定(bind)到路径相关类型,而这对于类型参数来说是不可能的。因此您可以例如使用具体内部类实现抽象类型:

trait A { type T }
class B extends A { class T }

或将其显式绑定(bind)到类范围内的路径相关类型:

class C { type T = this.type }
class D { object Q; type T = Q.type }

关于generics - 有没有使用泛型无法实现的 scala 抽象类型使用示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616042/

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