📜  Scala this 关键字

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

Scala this 关键字

关键字是一种语言中的词,用于表示一些预定义的操作或一些内部过程。当我们想为一个类引入当前对象时,我们使用this关键字。然后使用点运算符(.),我们可以通过 this 关键字引用实例变量、方法和构造函数。 this关键字也用于辅助构造函数。

让我们通过一些例子来理解这个关键字。

示例 #1:

Scala
// Scala program to illustrate this keyword
class Addition(i:Int)
{
    // using this keyword
    def this(i:Int, j:Int)
    {
        this(i)
        println(i + " + " + j + " = " + { i + j })
    }
}
 
// Creating object
object GFG
{
    // Main method
    def main(args:Array[String])
    {
        var add = new Addition(15, 12)
    }
     
}


Scala
// Scala program to illustrate this keyword
class geeks
{
    var Lname: String = ""
    var Articles = 0
     
    // Using this keyword
    def this(Lname:String, Articles:Int )
    {
        this()
        this.Lname = Lname
        this.Articles = Articles
         
    }
    def show()
    {
        println("Language name " + Lname +
                " published article " + Articles )
    }
}
 
// Creating object
object GFG
{
    // Main method
    def main(args: Array[String])
    {
        var GeeksForGeeks = new geeks( "Scala", 105)
        GeeksForGeeks.show()
    }
}


输出:

15 + 12 = 27

在上面的示例中,定义了一个包含一个参数的类添加,并且在该类中,我们使用带有两个参数ij的 this 关键字创建了一个方法。在此方法中,还调用了主构造函数(即 this(i))。示例 #2:

斯卡拉

// Scala program to illustrate this keyword
class geeks
{
    var Lname: String = ""
    var Articles = 0
     
    // Using this keyword
    def this(Lname:String, Articles:Int )
    {
        this()
        this.Lname = Lname
        this.Articles = Articles
         
    }
    def show()
    {
        println("Language name " + Lname +
                " published article " + Articles )
    }
}
 
// Creating object
object GFG
{
    // Main method
    def main(args: Array[String])
    {
        var GeeksForGeeks = new geeks( "Scala", 105)
        GeeksForGeeks.show()
    }
}

输出:

Language name Scala published article 105

如我们所见,在上面的示例中,使用 this 关键字定义的辅助构造函数和使用 this 关键字调用的主构造函数。实例变量(即 Lname、Articles)也使用dot(.) 运算符来引用。