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