Lập trình Kotlin - Lớp và đối tượng
Lớp và đối tượng
Để quản lý một hoặc nhiều đối tượng, trong lập trình hướng đối tượng người ta tạo ra một khung gọi là lớp. Trong lớp nó sẽ có các biến mà biến này ta gọi là các thuộc tính (properties), và lớp nó có thể chứa các hàm mà các hàm này chúng ta gọi nó là phương thức (method).
Kotlin Class
Lớp Kotlin tương tự như lớp Java, một lớp là bản thiết kế cho các đối tượng có các thuộc tính chung. Các lớp Kotlin được khai báo bằng cách sử dụng từ khóa class.
Cú pháp khai báo class:
class className{ // class header
// property
// member function
}
Trong ví dụ trên, class className là một phương thức rỗng. Nó được tạo tự động bởi trình biên dịch, chúng ta cần viết một phương thức thiết lập bằng dùng từ khóa constructor
class className constructor(){ // class header
// property
// member function
}
Ví dụ về lớp Kotlin
class account {
var acc_no: Int = 0
var name: String? = null
var amount: Float = 0f
fun deposit() {
//deposite code
}
fun withdraw() {
// withdraw code
}
fun checkBalance() {
//balance check code
}
}
Lớp tài khoản có ba thuộc tính acc_no, name, amount và có 3 phương thức sau: deposit(), withdraw(),checkBalance().
Trong Kotlin, thuộc tính phải được khởi tạo hoặc khai báo dưới dạng trừu tượng. Trong lớp trên, thuộc tính acc_no khởi tạo là 0, tên là null và số tiền là 0f.
Đối tượng trong Kotlin
Đối tượng là thực thể thời gian thực hoặc có thể là một thực thể logic có trạng thái và hành vi. Nó có các đặc điểm:
- Trạng thái: nó đại diện cho giá trị của một đối tượng.
- Hành vi: nó đại diện cho chức năng của một đối tượng.
Đối tượng được sử dụng để truy cập các thuộc tính và phương thức thành viên của một lớp. Kotlin cho phép tạo nhiều đối tượng của một lớp.
Tạo đối tượng
Đối tượng Kotlin được tạo trong hai bước, đầu tiên là tạo tham chiếu và sau đó tạo một đối tượng.
var obj1 = className()
Tạo nhiều đối tượng
var obj1 = className()
var obj2 = className()
Ở đây obj1 và obj2 là tham chiếu và className () là một đối tượng.
Truy cập thuộc tính lớp và phương thức
Thuộc tính và phương thức của lớp được truy cập bởi. toán tử sử dụng đối tượng. Ví dụ:
obj.deopsit()
obj.name = Ajay
Xem ví dụ chúng ta tạo một đối tượng gồm các thuộc tính và phương thức
class Account {
var acc_no: Int = 0
var name: String = ""
var amount: Float = 0.toFloat()
fun insert(ac: Int,n: String, am: Float ) {
acc_no=ac
name=n
amount=am
println("Account no: ${acc_no} holder :${name} amount :${amount}")
}
fun deposit() {
//deposite code
}
fun withdraw() {
// withdraw code
}
fun checkBalance() {
//balance check code
}
}
fun main(args: Array<String>){
Account()
var acc= Account()
acc.insert(832345,"Ankit",1000f) //accessing member function
println("${acc.name}") //accessing class property
}
Kết quả:
Account no: 832345 holder :Ankit amount :1000.0
Ankit