類別

類別body

body又稱為主體,包含屬性、方法、建構子、內部類別。

class 類別名 {
  // 類別body
}

Student類別。

1
2
3
4
class Student {
    // 屬性
    var name = "Alice"
}

建立物件

建立物件,並把物件指派給變數。

var 變數 = 類別名()
val 變數 = 類別名()

建立物件,並把物件指派給student變數。

1
2
3
4
5
6
7
class Student {
    var name = "Alice"
}
fun main() {
    // 建立物件
    var student = Student()
}

val物件變數

此處的val並不是不能修改物件的屬性,而是不能再把val物件變數指向其它物件。

1
2
3
4
5
6
7
8
9
class Student {
    var name = "Alice"
}
fun main() {
    // val物件變數
    val student2 = Student()
    // 以下會出錯 因為Val cannot be reassigned
    student2 = Student()
}

val物件變數,可以修改物件的屬性,以下程式碼把name指派新的值。

1
2
3
4
5
6
7
8
class Student {
    var name = "Alice"
}
fun main() {
    val student2 = Student()
    student2.name = "Doris"
    println(student2.name)
}
Doris

方法

方法為類別的行為、動作。

在類別中,宣告一個方法用fun開頭。

1
2
3
4
5
6
7
8
class Student {
    fun goToSchool() {

    }
    fun takeClass() {

    }
}

方法互相呼叫。

1
2
3
4
5
6
7
8
class Student {
    fun goToSchool() {
        takeClass()
    }
    fun takeClass() {

    }
}

物件呼叫方法。

1
2
    val student = Student()
    student.takeClass()

results matching ""

    No results matching ""