plus運算子

operator

讓二個類別可以進行加減乘除。
使用像 +、-、* 這些語法。

A類別 + B類別
A類別 - B類別
A類別 * B類別
運算子 覆寫方法 說明
+ plus 加法
- minus 減法
* times 乘法
/ div 除法
% rem 取餘數
新的員工 = emp1員工的薪水 + emp2員工的薪水
new_emp = emp1 + emp2

把員工相加 + 運算子的方法覆寫,並傳回Emp物件。

1
2
3
4
5
class Emp (val empId: String, val salary: Int){
    operator fun plus(other: Emp): Emp {
        return Emp("", other.salary + this.salary)
    }
}

2個員工薪水相加。

1
2
3
4
5
6
fun main() {
    val emp1 = Emp("001" , 50000)
    val emp2 = Emp("002", 30000)
    val new_emp = emp1 + emp2
    println(new_emp.salary)
}
80000

座標二點 x、y 位置相加。

1
2
3
4
5
6
7
8
9
10
11
12
class Point(val x: Int, val y: Int) {
    operator fun plus(other: Point) :Point {
        return Point(x + other.x, y + other.y)
    }
}

fun main() {
    val point1 = Point(1 , 3)
    val point2 = Point(2, 5)
    val new_point = point1 + point2
    println("new point x = ${new_point.x} y = ${new_point.y}")
}
new point x = 3 y = 8

results matching ""

    No results matching ""