Dasar-Dasar Constructor
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 8 dari 110.
Konstruktor adalah method khusus yang berjalan secara otomatis saat kamu membuat object baru. Konstruktor menginisialisasi variabel instans object tepat saat object dibuat.
Berikut contoh class dengan konstruktor:
class Dog {
late String name; // late: diatur di dalam isi konstruktor
late String breed;
Dog(String name, String breed) {
this.name = name;
this.breed = breed;
}
}Konstruktor memiliki nama yang sama dengan class. Parameter diberikan saat membuat object.
Buat objek dengan meneruskan argumen ke konstruktor:
Dog rex = Dog('Rex', 'German Shepherd');
Dog buddy = Dog('Buddy', 'Golden Retriever');Akses variabel yang ditetapkan oleh konstruktor:
print(rex.name);
print(rex.breed);
print(buddy.name);
print(buddy.breed);Output:
Rex
German Shepherd
Buddy
Golden RetrieverDart juga menyediakan sintaks konstruktor singkat yang menggunakan this.variableName langsung dalam daftar parameter:
class Dog {
String name;
String breed;
// Penulisan singkat: otomatis menetapkan parameter ke variabel instance
Dog(this.name, this.breed);
}Kedua versi menghasilkan hasil yang sama. Bentuk singkat ini adalah fitur Dart yang populer dan menghilangkan kebutuhan untuk menulis this.name = name secara manual.
Kamu juga bisa menambahkan nilai parameter default:
class Cat {
String name;
int age;
Cat(this.name, [this.age = 1]); // age secara default bernilai 1
}
Cat fluffy = Cat('Fluffy', 3);
Cat whiskers = Cat('Whiskers'); // age secara default bernilai 1
print('${fluffy.name} is ${fluffy.age}'); // Fluffy berusia 3
print('${whiskers.name} is ${whiskers.age}'); // Whiskers berusia 1Poin penting: Konstruktor memastikan setiap object diinisialisasi dengan benar dengan data saat dibuat, sehingga kamu tidak perlu mengatur variabel secara manual setelahnya.
Tantangan
MudahKamu diberi file Dart (book.dart dan driver.dart) untuk membuat sistem buku.
Tugasmu:
- Lengkapi class
Bookdibook.dartdengan menambahkan konstruktor yang menginisialisasititle,author, danpages: gunakan sintaks singkat DartBook(this.title, this.author, this.pages); - Di
driver.dart, buat objectBookuntuk'Harry Potter'karya'J.K. Rowling'dengan400halaman
Ikuti komentar TODO di setiap file.
Coba sendiri
import 'book.dart';
void main() {
// TODO: Buat object Book dengan:
// title: 'Harry Potter', author: 'J.K. Rowling', pages: 400
Book myBook = ?;
print("'${myBook.title}' by ${myBook.author}, ${myBook.pages} pages");
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
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 Generik2Konstruktor 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