Dalam artikel ini, anda akan diperkenalkan dengan pengaturcaraan berorientasi Objek di Kotlin. Anda akan belajar apa itu kelas, bagaimana membuat objek dan menggunakannya dalam program anda.
Kotlin menyokong pengaturcaraan berfungsi dan berorientasikan objek.
Kotlin menyokong ciri seperti fungsi pesanan tinggi, jenis fungsi dan lambdas yang menjadikannya pilihan yang tepat untuk bekerja dalam gaya pengaturcaraan berfungsi. Anda akan mengetahui konsep ini dalam bab-bab kemudian. Artikel ini akan memberi tumpuan kepada gaya pengaturcaraan berorientasikan objek di Kotlin.
Pengaturcaraan Berorientasikan Objek (OOP)
Dalam gaya pengaturcaraan berorientasikan objek, anda dapat membahagikan masalah yang kompleks menjadi set yang lebih kecil dengan membuat objek.
Objek-objek ini mempunyai dua ciri:
- negeri
- tingkah laku
Mari kita ambil beberapa contoh:
- Lampu adalah objek
- Ia boleh dalam keadaan hidup atau mati.
- Anda boleh
turn on
danturn off
lampu (tingkah laku).
- Basikal adalah objek
- Ia mempunyai gear semasa, dua roda, bilangan gear dan lain-lain keadaan.
- Ia mempunyai tingkah laku brek, mempercepat, menukar gear dll.
Anda akan belajar mengenai perincian ciri pengaturcaraan berorientasikan objek seperti: enkapsulasi data, pewarisan dan polimorfisme semasa kita meneruskannya. Artikel ini akan memberi tumpuan kepada asas-asas untuk memastikan perkara-perkara mudah.
Bacaan yang disyorkan: Apa itu objek?
Kelas Kotlin
Sebelum anda membuat objek di Kotlin, anda perlu menentukan kelas.
Kelas adalah cetak biru untuk objek.
Kita boleh menganggap kelas sebagai lakaran (prototaip) rumah. Ia mengandungi semua perincian mengenai lantai, pintu, tingkap dan lain-lain. Berdasarkan keterangan ini kami membina rumah. Rumah adalah objek.
Oleh kerana, banyak rumah dapat dibuat dari keterangan yang sama, kita dapat membuat banyak objek dari kelas.
Bagaimana cara menentukan kelas di Kotlin?
Untuk menentukan kelas di Kotlin, class
kata kunci digunakan:
kelas ClassName (// sifat // fungsi ahli…)
Inilah contohnya:
lampu kelas (// harta benda (data member) peribadi priv isOn: Boolean = false // fungsi ahli menyeronokkan turnOn () (isOn = true) // fungsi ahli menyeronokkan turnOff () (isOn = false))
Di sini, kami menentukan kelas bernama Lamp.
Kelas mempunyai satu sifat isOn (ditakrifkan dengan cara yang sama seperti pemboleh ubah), dan dua fungsi anggota turnOn()
dan turnOff()
.
Bacaan yang Disyorkan: Fungsi Kotlin
Di Kotlin, sama ada harta tanah mesti dimulakan atau mesti dinyatakan abstract
( Lawati: Kotlin Abstract Class untuk mengetahui lebih lanjut). Dalam contoh di atas, harta isOn dimulakan ke false
.
Kelas, objek, sifat, fungsi anggota dan lain-lain boleh mempunyai pengubah penglihatan. Contohnya, harta isOn adalah peribadi. Ini bermaksud, harta isOn boleh diubah dari hanya di dalam kelas Lampu.
Pengubah penglihatan lain adalah:
private
- kelihatan (boleh diakses) dari dalam kelas sahaja.public
- kelihatan di mana-mana.protected
- dapat dilihat oleh kelas dan kelasnya.internal
- mana-mana pelanggan di dalam modul boleh mengaksesnya.
Anda akan mengetahui tentang protected
dan internal
pengubah suai kemudian dalam artikel pengubah penglihatan Kotlin.
Sekiranya anda tidak menentukan pengubah penglihatan, ia akan secara public
lalai.
Dalam program di atas, turnOn()
dan turnOff()
fungsi anggota adalah public
, harta isOn adalah peribadi.
Objek Kotlin
Apabila kelas ditentukan, hanya spesifikasi untuk objek yang ditentukan; tiada memori atau simpanan diperuntukkan.
Untuk mengakses ahli yang ditentukan dalam kelas, anda perlu membuat objek. Mari buat objek kelas Lampu.
class Lamp ( // property (data member) private var isOn: Boolean = false // member function fun turnOn() ( isOn = true ) // member function fun turnOff() ( isOn = false ) ) fun main(args: Array) ( val l1 = Lamp() // create l1 object of Lamp class val l2 = Lamp() // create l2 object of Lamp class )
Program ini membuat dua objek l1 dan l2 Lampu kelas. Harta isOn untuk kedua-dua lampu l1 dan l2 akan menjadi false
.
Bagaimana untuk mengakses ahli?
Anda boleh mengakses sifat dan fungsi ahli kelas dengan menggunakan .
notasi. Sebagai contoh,
l1.pusingOn ()
Pernyataan ini memanggil fungsi turnOn () untuk objek l1.
Mari ambil contoh lain:
l2.isOn = benar
Here, we tried to assign true
to isOn property of l2 object. Note that, isOn property is private
, and if you try to access isOn from outside the class, an exception is thrown.
Example: Kotlin Class and Object
class Lamp ( // property (data member) private var isOn: Boolean = false // member function fun turnOn() ( isOn = true ) // member function fun turnOff() ( isOn = false ) fun displayLightStatus(lamp: String) ( if (isOn == true) println("$lamp lamp is on.") else println("$lamp lamp is off.") ) ) fun main(args: Array) ( val l1 = Lamp() // create l1 object of Lamp class val l2 = Lamp() // create l2 object of Lamp class l1.turnOn() l2.turnOff() l1.displayLightStatus("l1") l2.displayLightStatus("l2") )
When you run the program, the output will be:
l1 Lamp is on. l2 Lamp is off.
In the above program,
Lamp
class is created.- The class has a property isOn and three member functions
turnOn()
,turnOff()
anddisplayLightStatus()
. - Two objects l1 and l2 of Lamp class are created in the
main()
function. - Here,
turnOn()
function is called using l1 object:l1.turnOn()
. This method sets isOn instance variable of l1 object totrue
. - And,
turnOff()
function is called using l2 object:l1.turnOff()
. This method sets isOff instance variable of l2 object tofalse
. - Kemudian,
displayLightStatus()
fungsi dipanggil untuk objek l1 dan l2 yang mencetak mesej yang sesuai bergantung pada sama ada harta isOn itu benar ataufalse
.
Perhatikan bahawa, harta isOn diinisialisasi ke false
dalam kelas. Apabila objek kelas dibuat, harta isOn untuk objek diinisialisasi false
secara automatik. Jadi, tidak perlu objek l2 memanggil turnOff()
untuk menetapkan harta isOn ke false
.
Sebagai contoh:
class Lamp ( // property (data member) private var isOn: Boolean = false // member function fun turnOn() ( isOn = true ) // member function fun turnOff() ( isOn = false ) fun displayLightStatus() ( if (isOn == true) println("lamp is on.") else println("lamp is off.") ) ) fun main(args: Array) ( val lamp = Lamp() lamp.displayLightStatus() )
Semasa anda menjalankan program, outputnya adalah:
lampu padam.
Artikel ini hanyalah pengenalan kepada pengaturcaraan berorientasikan objek di Kotlin. Lihat bab-bab ini secara berurutan untuk mengetahui lebih lanjut:
- Pembangun dan Pemula Kotlin
- Kotlin kata kunci ini
- Kelas Bersarang Kotlin