Dart Academy · Pelajaran

Konstruktor Factory dan const

Menyimpan cache, mengembalikan subtipe, atau membuat objek saat kompilasi

Pelajaran 4 dari 413 langkah

Konstruktor Factory dan const adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.

Fungsi Konstruktor Pabrik

Konstruktor pabrik tampak seperti konstruktor biasa, tetapi Anda mengendalikan nilai yang dikembalikannya. Jadi, konstruktor ini tidak harus membuat objek baru setiap kali.

class Logger {
  factory Logger() => _shared;
}

Pabrik Dapat Mengembalikan Objek Tembolok

Karena mengembalikan objek alih-alih selalu membuatnya, konstruktor pabrik dapat memberikan kembali objek tembolok, yang sangat cocok untuk tunggal atau kumpulan objek.

class Logger {
  static final _it = Logger._();
  Logger._();
  factory Logger() => _it;
}

Pabrik Dapat Mengembalikan Subtipe

Pabrik dapat mengembalikan objek apa pun yang memiliki tipe yang tepat, termasuk subkelas, sehingga Anda dapat memilih kelas konkret saat program berjalan.

factory Shape(String k) =>
    k == "box" ? Box() : Dot();

Pabrik Wajib Mengembalikan Nilai

Berbeda dari konstruktor biasa, pabrik memiliki isi yang harus mengembalikan sebuah objek; pabrik tidak pernah menetapkan bidang secara langsung dengan this.

factory User.fromJson(Map j) {
  return User(j["name"]);
}

Pabrik Penguraian yang Umum

Pola pabrik sangat berguna untuk penguraian, misalnya saat membangun objek dari sebuah peta. Idiom fromJson digunakan di banyak tempat dalam Dart dan Flutter.

factory User.fromJson(Map<String, dynamic> j) =>
    User(j["name"]);

Fungsi Konstruktor const

Konstruktor konstan memungkinkan Anda membangun objek konstan saat kompilasi, dengan semua bidangnya bersifat final dan sudah diketahui sebelumnya.

class Point {
  final int x, y;
  const Point(this.x, this.y);
}

Membuat Objek Konstan

Panggil konstruktor tersebut dengan kata kunci const untuk membuat objek yang dibekukan. Dua objek konstan dengan nilai yang sama sebenarnya merupakan objek yang sama.

const a = Point(1, 2);
const b = Point(1, 2);
print(identical(a, b)); // true

Aturan untuk Konstruktor Konstan

Setiap bidang harus bersifat final, dan isi konstruktor harus kosong. Aturan inilah yang memungkinkan Dart membekukan objek saat kompilasi.

class Color {
  final int v;
  const Color(this.v);
}

const Menghemat Memori

Objek konstan yang identik akan dikano-nisasi menjadi satu objek bersama, sehingga penggunaan ulang objek tersebut tidak memerlukan memori tambahan.

const reds = [Color(255), Color(255)];

Pabrik vs Konstan secara Sekilas

Pilih pabrik ketika Anda menentukan nilai yang akan dikembalikan saat program berjalan; pilih const ketika Anda menginginkan nilai yang tidak dapat diubah dan ditetapkan saat kompilasi.

Menggabungkan Gagasan

Sebuah kelas dapat menyediakan konstruktor biasa, pabrik untuk penguraian, dan konstruktor konstan untuk nilai tetap, sehingga mencakup semua kebutuhan pembuatan.

Pemeriksaan Singkat

Pemeriksaan singkat tentang konstruktor pabrik.

Rangkuman: Pabrik dan Konstan

Anda telah mempelajari bahwa konstruktor pabrik mengendalikan nilai yang dikembalikannya, sedangkan konstruktor konstan membuat objek saat kompilasi yang bersifat bersama dan tidak dapat diubah. Kerja bagus! 🎉

Gratis untuk memulai

Belajar Dart dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Konstruktor Factory dan const” gratis?

Ya — teks lengkap “Konstruktor Factory dan const” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Konstruktor Factory dan const”?

Menyimpan cache, mengembalikan subtipe, atau membuat objek saat kompilasi Kamu berlatih Dart Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Dart Academy?

Tidak diperlukan pengalaman sebelumnya. Dart Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Konstruktor Factory dan const” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Dart Academy ini?

Ya. Setiap pelajaran Dart Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konstruktor Bawaan dan Berparameter
  2. Konstruktor Bernama untuk Maksud yang Jelas
  3. Daftar Inisialisasi dan Pengalihan Konstruktor
  4. Konstruktor Factory dan const
← Kembali ke Dart Academy