Dasar Dart: Class & Object

Membuat class sebagai cetakan, constructor dengan parameter bernama, getter, pewarisan (extends), dan @override.

Part 6 dari 23 ± 45 menit Gratis

Class = cetakan, object = hasil cetakan

Bayangkan cetakan kue. Class adalah cetakannya: menentukan bentuk dan isi. Object adalah kue yang dihasilkan. Dari satu class Produk kamu bisa membuat banyak object produk: kopi, teh, roti.

class Produk {
  final String nama;
  final int harga;

  Produk({required this.nama, required this.harga});

  String get hargaRupiah => 'Rp$harga';

  void tampil() {
    print('$nama - $hargaRupiah');
  }
}

final p = Produk(nama: 'Kopi', harga: 15000);
p.tampil();   // Kopi - Rp15000
  • Field (nama, harga) adalah data milik object.
  • Constructor bernama sama dengan class. Penulisan this.nama adalah jalan pintas: "isi field nama dengan argumen ini". Dengan {required ...} argumennya bernama dan wajib — sama seperti widget Flutter.
  • Getter (get) adalah nilai yang dihitung, dipakai seperti field tanpa kurung: p.hargaRupiah.
  • Method (tampil) adalah function milik object.

Pewarisan: extends

Class baru dapat mewarisi semua milik class lain lalu menambahkan hal baru. Ini adalah bentuk yang paling sering kamu temui di Flutter (class MyApp extends StatelessWidget).

class Minuman extends Produk {
  final bool dingin;

  Minuman({required super.nama, required super.harga, this.dingin = true});

  @override
  void tampil() {
    super.tampil();                         // jalankan versi milik Produk
    print(dingin ? 'Dingin' : 'Panas');
  }
}
  • extends Produk = Minuman adalah jenis khusus dari Produk.
  • required super.nama = teruskan argumen nama ke constructor class induk.
  • @override = "saya menimpa method milik induk dengan versi saya".
  • super.tampil() = panggil dulu versi induk, baru tambahkan perilaku baru.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X