class Buku dan Pengguna
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 102 dari 110.
Tantangan
MudahDi pelajaran sebelumnya, kamu membuat class Book dengan property dasar dan method toString(). Sekarang saatnya mengembangkan sistem library-mu dengan menambahkan class User untuk mewakili anggota library yang bisa meminjam buku.
Kamu perlu membuat file baru dan memperbarui file yang sudah ada:
book.dart: Tingkatkan classBookyang sudah ada dengan menambahkan propertyisAvailable(boolean) yang nilai awalnyatrue. Property ini akan melacak apakah buku bisa dipinjam.user.dart: Buat classUserbaru untuk mewakili anggota library. Setiap user harus memilikiid(String),name(String), dan listborrowedBooksyang menyimpan objectBook. Sertakan constructor yang menginisialisasi id dan name, dengan list kosong untuk buku yang dipinjam. OverridetoString()agar mengembalikan formatUser [id]: name (X books borrowed), dengan X sebagai jumlah buku yang dipinjam.main.dart: Impor file book dan user. Buat buku dengan ISBN978-0-13-468599-1, judulThe Pragmatic Programmer, dan penulisDavid Thomas. Buat user dengan idU001dan namaAlice Johnson. Cetak buku, lalu cetak apakah buku tersedia dengan formatAvailable: trueatauAvailable: false. Cetak user. Kemudian tambahkan buku ke list buku yang dipinjam user, ubahisAvailablebuku menjadifalse, lalu cetak user lagi untuk menampilkan jumlah buku yang sudah diperbarui.
Ini membangun hubungan antara buku dan user yang akan kamu kembangkan saat menerapkan sistem peminjaman lengkap di pelajaran berikutnya!
Output yang diharapkan:
[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)Coba sendiri
import 'book.dart';
// TODO: Impor user.dart
void main() {
// TODO: Buat buku dengan ISBN '978-0-13-468599-1', judul 'The Pragmatic Programmer', dan penulis 'David Thomas'
// TODO: Buat pengguna dengan id 'U001' dan nama 'Alice Johnson'
// TODO: Cetak buku tersebut
// TODO: Cetak apakah buku tersebut tersedia dengan format: Available: true/false
// TODO: Cetak pengguna tersebut
// TODO: Tambahkan buku tersebut ke list borrowedBooks milik pengguna
// TODO: Atur isAvailable pada buku tersebut menjadi false
// TODO: Cetak pengguna tersebut lagi untuk menampilkan jumlah buku terbaru
}
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
file Eksternallibrary dan ImporPengantar OOPClass dan ObjectKata kunci thismethodVariabel InstanceDasar-Dasar ConstructorRingkasan: Kalkulator Sederhana4Keamanan Null
Pengantar Keamanan NullBisa Null vs Tidak Bisa NullOperator ? dan !Kata Kunci late dan Keamanan NullOperator Penanganan NullKeamanan Null dalam classRangkuman: Sistem Profil Pengguna7class Abstrak & Antarmuka
class AbstrakMethod abstrakAntarmuka di DartAntarmuka ImplisitMengimplementasikan vs MemperluasBeberapa AntarmukaRingkasan: Kalkulator Bentuk10Koleksi dan Generik
Gambaran Umum list, set, dan MapKoleksi dengan Tipe AmanKelas GenerikMetode GenerikBatasan GenerikIterable dan IteratorUlasan: Penyimpanan Generik13Konsep OOP Lanjutan
Komposisi vs PewarisanExtension methodClass yang Dapat DipanggilSealed class (Dart 3)Records (Dart 3)Pola dan Pencocokan (3.0)Enum dengan method16Proyek: Manajemen library
Ringkasan Proyekclass Buku dan Pengguna2Konstruktor dalam Dart
Konstruktor DefaultKonstruktor BernamaInitializer ListsKonstruktor KonstanKonstruktor FactoryKonstruktor RedirectingRangkuman, Pembuat Bentuk5Enkapsulasi
Member Publik vs PrivatKonvensi Prefiks _Privasi Tingkat libraryPendalaman Getter & SetterPenyembunyian InformasiRingkasan: Catatan Siswa8Mixin
Pengantar MixinMembuat MixinMenggunakan Beberapa MixinKata Kunci on pada MixinMixin vs. PewarisanMixin vs. InterfaceRangkuman: Sistem Hewan3Property Class
Anggota Instance vs StaticField Final dan ConstVariabel LateMethod dan Field StaticGetter dan SetterRangkuman: Pengelola Rekening Bank6Pewarisan
Pewarisan DasarKata Kunci superPenimpaan methodAnotasi @overrideKata Kunci class finalKonstruktor dan PewarisanRangkuman, Hierarki Karyawan9Polimorfisme
Dasar-Dasar PolimorfismePolimorfisme melalui AntarmukaPemeriksaan Tipe saat RuntimeOperator is & asKata Kunci KovarianRangkuman: Pemroses PembayaranLatihan sendiri: Compiler Dart online