📜  Scala – 视图绑定

📅  最后修改于: 2022-05-13 01:55:35.287000             🧑  作者: Mango

Scala – 视图绑定

Scala 中的类型边界是对类型参数或类型变量的限制。通过使用这些类型边界,我们可以为变量设置限制。这些界限有助于将我们的代码放入真实世界的示例中。我们需要对现实生活中的每个因素施加一定的限制和界限,这就是 Scala 中的类型界限所做的。

Scala 支持三种类型的边界:

  1. 上限
  2. 下限
  3. 视图绑定

这里我们将讨论视图绑定。

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