Rangkuman, Titik Bergerak
Termasuk bagian Pemrograman Berorientasi Object dalam perjalanan Lua di Coddy. Pelajaran 5 dari 70.
Tantangan
MudahBuat tabel bernama point dengan dua field:
x- koordinat xy- koordinat y
Tambahkan method :move(dx, dy) menggunakan sintaks titik dua yang menambahkan dx ke self.x dan dy ke self.y.
Kamu akan menerima empat input:
- Koordinat x awal
- Koordinat y awal
- Delta x (jarak pergerakan horizontal)
- Delta y (jarak pergerakan vertikal)
Setelah membuat point dengan koordinat awal dan memanggil :move() dengan nilai delta, cetak posisi akhir dengan format persis berikut:
[x], [y]Misalnya, jika posisi awalnya adalah (3, 5) dan kamu menggerakkannya sejauh (2, -1), output-nya harus berupa:
5, 4Coba sendiri
-- Baca input
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- TODO: Tulis kodemu di bawah ini
-- 1. Buat tabel bernama 'point' dengan field x dan y (menggunakan koordinat awal)
-- 2. Tambahkan method :move(dx, dy) menggunakan sintaks titik dua yang mengubah self.x dan self.y
-- Panggil method move dan cetak hasilnya
point:move(dx, dy)
print(point.x .. ", " .. point.y)Semua pelajaran di Pemrograman Berorientasi Object
1Konsep "Self"
Tabel dengan Fungsi'self' EksplisitSintaks Titik DuaTitik vs Titik DuaRangkuman, Titik Bergerak4Proyek: Bank Digital
Penyiapan Proyekmethod Setoran7Polimorfisme & Overriding
Menimpa methodMemanggil method indukDuck TypingAntarmuka UmumMemeriksa TipeRingkasan: Peran Karyawan10Proyek: Pengelola Bentuk
Penyiapan Proyekclass Rectangleclass Circlemethod KelilingKumpulan BentukLuas TotalSaring Bentuk2Pola Prototype untuk class
Konsep PrototypeMenghubungkan dengan __indexKonstruktor :new()Menginisialisasi AtributInstans yang MandiriRangkuman: Pabrik Mobil5Pembebanan Operator dalam OOP
Menjumlahkan ObjekMengurangkan ObjekMenggabungkan ObjekMembandingkan Objek (<, >)Ulasan: Aritmetika Dompet8Enkapsulasi
Konvensi PenamaanClosure untuk PrivasiAkses melalui ClosureTabel Hanya-BacaLogika ValidasiRangkuman: Brankas Aman11Pola Desain (Ringan)
Fungsi FactoryTabel SingletonPola IteratorObserver (Listener)Rangkuman, Factory Logger3State dan Behavior pada object
Variabel InstansGetter methodSetter methodProperty TerhitungMemformat stringPemeriksaan KesetaraanRangkuman: Nilai Siswa6Dasar-Dasar Pewarisan
Menyiapkan PewarisanMewarisi methodMemperluas KonstruktorMenambahkan method untuk ChildSama vs UnikRangkuman: Hierarki BentukLatihan sendiri: Compiler Lua online