Scala – 视图绑定
Scala 中的类型边界是对类型参数或类型变量的限制。通过使用这些类型边界,我们可以为变量设置限制。这些界限有助于将我们的代码放入真实世界的示例中。我们需要对现实生活中的每个因素施加一定的限制和界限,这就是 Scala 中的类型界限所做的。
Scala 支持三种类型的边界:
- 上限
- 下限
- 视图绑定
这里我们将讨论视图绑定。
View Bound是 Scala 中使用的类型绑定之一。视图绑定基本上用于自动使用现有隐式转换的地方。在某些程序中,为了解决任何问题,隐式转换是自动完成的。视图绑定用于利用这些隐式转换。
句法:
[T <% S]
这里,T 是类型参数,S 是类型。 <% 表示视图边界。
下面的例子说明了 Scala 中视图绑定的概念:
示例 1:
// Scala program to demonstrate view bound
// Declaration of view bound
class GFG[T <% Ordered[T]](val firstNumber: T,
val secondNumber: T)
{
def greaterNumber = if (firstNumber >
secondNumber)firstNumber
else secondNumber
}
// Object created
object ViewBoundExample
{
// Driver code
def main(args: Array[String])
{
val result = new GFG(24, 25)
println(result.greaterNumber)
}
}
输出:
25
示例 2:
// Scala program to demonstrate view bound
// Declaration of view bound
class GFG[T <% Ordered[T]](val first_Str: T,
val second_Str: T)
{
def smaller_Str = if (first_Str <
second_Str)first_Str
else second_Str
}
// Object created
object ScalaViewBound
{
// Driver code
def main(args: Array[String])
{
val result = new GFG("GeeksforGeeks", "Scala")
println(result.smaller_Str)
}
}
输出:
GeeksforGeeks