ID (Indonesia) Translation
Lua - Pemrograman Berorientasi Objek
Pengenalan ke OOP
Hai teman-teman pemula pemrogrammer! Hari ini, kita akan memulai perjalanan menarik ke dunia Pemrograman Berorientasi Objek (OOP) menggunakan Lua. Jangan khawatir jika Anda baru saja memulai pemrograman; saya akan menggイドi Anda di setiap langkah dengan同样的 perhatian dan kesungguhan yang saya gunakan di kelas selama tahun tahun.
Pemrograman Berorientasi Objek seperti membangun dengan batu bata LEGO. Setiap batu bata (atau objek) memiliki properti sendiri dan bisa melakukan hal-hal tertentu. Ketika kita menggabungkannya, kita menciptakan struktur menakjubkan (atau program)!
Fitur OOP
Sebelum kita masuk ke Lua, mari kita lihat secara cepat fitur utama OOP:
- Enkapsulasi: Hal ini seperti menyimpan mainan Anda di dalam kotak. Kotak (objek) berisi semua hal yang berkaitan (data dan fungsi).
- Pewarisan: Bayangkan Anda memiliki mainan robot. Sekarang, Anda mendapat mainan robot baru yang bisa melakukan semua hal yang bisa mainan lama, dan ada beberapa trik baru. Itu adalah pewarisan!
- Polimorfisme: Hal ini seperti memiliki remote kontrol yang bekerja untuk berbagai perangkat. Tombol yang sama, tindakan berbeda tergantung apa yang Anda kendalikan.
- Abstraksi: Bayangkan menggunakan microwave. Anda tidak perlu tahu bagaimana cara kerjanya dalam; Anda hanya perlu tahu tombol mana yang harus ditekan.
OOP dalam Lua
Sekarang, mari kita lihat bagaimana kita bisa menggunakan konsep OOP ini dalam Lua. Lua tidak memiliki kelas bawaan seperti beberapa bahasa lain, tapi kita bisa menciptakan struktur berorientasi objek menggunakan tabel dan fungsi. Itu seperti kita sedang membangun set LEGO sendiri dari awal!
Membuat Kelas Sederhana
Ayo mulai dengan menciptakan kelas sederhana. Dalam Lua, kita menggunakan tabel untuk merepresentasikan kelas.
local Dog = {}
Dog.__index = Dog
function Dog.new(name, age)
local self = setmetatable({}, Dog)
self.name = name
self.age = age
return self
end
function Dog:bark()
print(self.name .. " mengatakan: Woof!")
end
mari kitauraikan ini:
- Kita menciptakan tabel bernama
Dog
. - Kita menset
Dog.__index = Dog
. Ini adalah sedikit sihir Lua yang membantu dengan pewarisan. - Kita menciptakan fungsi
new
yang bertindak sebagai konstraktor. Itu menciptakan anjing baru dengan nama dan umur. - Kita menambahkan metode
bark
ke kelas Dog.
Membuat Objek
Sekarang kita memiliki kelas Dog, mari kita menciptakan objek Dog:
local myDog = Dog.new("Buddy", 3)
Selamat! Anda baru saja menciptakan objek pertama Anda. myDog
sekarang adalah objek Dog dengan nama "Buddy" dan umur 3.
Mengakses Properti
Kita bisa mengakses properti anjing kita seperti ini:
print(myDog.name) -- Keluaran: Buddy
print(myDog.age) -- Keluaran: 3
Itu begitu sederhana hanya dengan menggunakan notasi titik!
Mengakses Fungsi Anggota
Untuk membuat anjing kita menjerit, kita bisa memanggil metode bark:
myDog:bark() -- Keluaran: Buddy mengatakan: Woof!
Perhatikan tanda titik :
ini bukannya titik. Ini adalah cara Lua untuk mengirimkan self
ke metode.
Contoh Lengkap
Mari kita gabungkan semuanya:
local Dog = {}
Dog.__index = Dog
function Dog.new(name, age)
local self = setmetatable({}, Dog)
self.name = name
self.age = age
return self
end
function Dog:bark()
print(self.name .. " mengatakan: Woof!")
end
local Labrador = {}
setmetatable(Labrador, {__index = Dog})
function Labrador.new(name, age, color)
local self = Dog.new(name, age)
setmetatable(self, {__index = Labrador})
self.color = color
return self
end
function Labrador:swim()
print(self.name .. " sedang berenang!")
end
function Labrador:bark()
print(self.name .. " mengatakan: Woof woof woof!")
end
local myDog = Dog.new("Buddy", 3)
local myLabrador = Labrador.new("Max", 2, "Kuning")
myDog:bark() -- Keluaran: Buddy mengatakan: Woof!
myLabrador:bark() -- Keluaran: Max mengatakan: Woof woof woof!
myLabrador:swim() -- Keluaran: Max sedang berenang!
Dan itu adalah! Kita telah menciptakan struktur kelas dasar, implementasi pewarisan, dan bahkan mengganti metode. Anda sudah berada di jalur menjadi ahli OOP Lua!
Ingat, latihan membuat sempurna. Cobalah menciptakan kelas Anda sendiri dan eksperimen dengan properti dan metode yang berbeda. Selamat coding!
Credits: Image by storyset