0Pricing
Dart Academy · Pelajaran

Daftar Inisialisasi dan Pengalihan Konstruktor

Menetapkan final dan menggunakan kembali konstruktor

Daftar Inisialisasi dan Pengalihan Konstruktor adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Menetapkan Bidang final

Bidang final harus ditetapkan sebelum isi konstruktor berjalan. Daftar penginisialisasi adalah tempat yang tepat untuk memberinya satu-satunya nilai.

class Circle {
  final double area;
  Circle(double r) : area = 3.14 * r * r;
}

Sintaks Daftar Penginisialisasi

Setelah daftar parameter, tambahkan titik dua lalu beberapa penetapan yang dipisahkan koma. Daftar penginisialisasi ini berjalan sebelum isi konstruktor.

Point(int x, int y) : x = x, y = y;

Berjalan Sebelum Isi Konstruktor

Penetapan penginisialisasi terjadi terlebih dahulu, kemudian isi konstruktor dijalankan. Jadi, bidang yang Anda tetapkan dalam daftar sudah siap digunakan di dalam isi konstruktor.

class Box {
  final int n;
  Box(int v) : n = v {
    print(n); // available
  }
}

Menghitung Nilai Turunan

Gunakan daftar tersebut untuk menghitung bidang dari parameter, misalnya total atau label, sebelum siapa pun dapat menyentuh objek.

class Rect {
  final int area;
  Rect(int w, int h) : area = w * h;
}

Beberapa Penginisialisasi

Pisahkan beberapa penetapan dengan koma. Masing-masing menetapkan bidang yang berbeda dalam satu daftar penginisialisasi yang sama.

Point(int a, int b) : x = a, y = b;

Penegasan pada Daftar Penginisialisasi

Anda dapat menambahkan penegasan ke dalam daftar untuk mengamankan input selama pengembangan dan menangkap nilai yang tidak valid sebelum objek dibuat.

Circle(double r) : assert(r > 0), area = 3.14 * r * r;

Pengalihan Konstruktor

Satu konstruktor dapat meneruskan tugasnya ke konstruktor lain menggunakan this setelah tanda titik dua, sehingga persiapan bersama berada di satu tempat.

class Point {
  int x, y;
  Point(this.x, this.y);
  Point.zero() : this(0, 0);
}

Alasan Melakukan Pengalihan

Pengalihan menghindari pengulangan penetapan bidang. Konstruktor bernama cukup memanggil konstruktor utama, sehingga logika Anda tetap mengikuti prinsip DRY.

Point.origin() : this(0, 0);

Isi Konstruktor Pengalih Tetap Kosong

Konstruktor pengalih tidak memiliki isi. Konstruktor ini hanya meneruskan pemanggilan ke tujuan dengan this(...), yang melakukan semua pekerjaan sebenarnya.

class User {
  String name;
  User(this.name);
  User.anon() : this("anon");
}

Urutan Operasi

Ingat alurnya: daftar penginisialisasi dan pengalihan apa pun berjalan terlebih dahulu, kemudian isi konstruktor. Tetapkan bidang final di dalam daftar, lalu lakukan pekerjaan tambahan di dalam isi.

Daftar Penginisialisasi vs Isi Konstruktor

Gunakan daftar untuk menetapkan bidang, terutama bidang final; gunakan isi untuk logika seperti mencetak, melakukan validasi selain penegasan, atau memanggil metode.

Pemeriksaan Singkat

Pemeriksaan singkat tentang daftar penginisialisasi.

Rangkuman: Inisialisasi dan Pengalihan

Sekarang Anda dapat menggunakan daftar penginisialisasi untuk menetapkan bidang final dan menghitung nilai, mengamankan nilai dengan penegasan, serta mengalihkan satu konstruktor ke konstruktor lain dengan this. 🔀

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Daftar Inisialisasi dan Pengalihan Konstruktor” gratis?

Ya — teks lengkap “Daftar Inisialisasi dan Pengalihan Konstruktor” 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 “Daftar Inisialisasi dan Pengalihan Konstruktor”?

Menetapkan final dan menggunakan kembali konstruktor 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 3 dari 4.

Berapa lama pelajaran “Daftar Inisialisasi dan Pengalihan Konstruktor” 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