method Setoran
Termasuk bagian Pemrograman Berorientasi Object dalam perjalanan Lua di Coddy. Pelajaran 20 dari 70.
Tantangan
MudahKita sekarang memulai proyek Digital Bank. Saatnya menambahkan fungsionalitas ke sistem barumu! Sekarang akun dapat dibuat dengan saldo awal 0, mari kita beri akun kemampuan untuk menerima uang melalui deposit.
Dengan mengembangkan class Account yang sudah ada, kamu akan menambahkan method :deposit(amount) yang meningkatkan saldo akun sebesar jumlah yang ditentukan. Ini adalah operasi perbankan yang mendasar: uang masuk, dan saldo bertambah!
Dua file milikmu:
Account.lua: Kembangkan class Account dengan menambahkan method:deposit(amount). Method ini harus menambahkan jumlah yang diberikan keself.balance. Pertahankan semua yang sudah dibuat di pelajaran sebelumnya, yaitu struktur class dan constructor:new().main.lua: Require module Account, buat akun, lakukan beberapa deposit, dan tampilkan perubahan saldo.
Kamu akan menerima tiga input:
- Jumlah deposit pertama
- Jumlah deposit kedua
- Jumlah deposit ketiga
Di file utama, buat satu akun dan lakukan ketiga deposit secara berurutan. Setelah setiap deposit, cetak saldo saat ini di baris baru.
Misalnya, jika inputnya adalah 100, 50, dan 25, outputnya harus seperti ini:
100
150
175Perhatikan bagaimana setiap deposit menambahkan jumlah pada saldo sebelumnya: akun dimulai dari 0, lalu bertambah menjadi 100 setelah deposit pertama, 150 setelah deposit kedua, dan 175 setelah deposit ketiga. Method :deposit() membuat akumulasi ini terjadi!
Coba sendiri
-- Muat module Account dengan require
local Account = require('Account')
-- Baca tiga jumlah setoran
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())
-- Buat satu akun
local account = Account:new()
-- Lakukan tiga setoran dan cetak saldo setelah setiap setoran
-- TODO: setorkan deposit1 dan cetak account.balance
-- TODO: setorkan deposit2 dan cetak account.balance
-- TODO: setorkan deposit3 dan cetak account.balance
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