Dart Academy · Pelajaran

Menulis Extension Pertama Anda

Menambahkan metode baru ke tipe bawaan

Pelajaran 1 dari 413 langkah

Menulis Extension Pertama Anda adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Metode yang Tidak Dapat Anda Tambahkan

Pernah berharap int memiliki metode praktis yang ternyata tidak tersedia? Anda tidak dapat mengedit kelas bawaan, tetapi Dart menyediakan cara lain untuk menambahkan kemampuan tersebut.

Kenali ekstensi

Sebuah ekstensi memungkinkan Anda menambahkan metode baru ke tipe yang sudah ada tanpa membuat subkelas atau menyentuh kode sumbernya. 🎁

extension on String {
  // new methods go here
}

Bentuk Dasar

Anda menulis extension Name on Type, lalu menambahkan metode di dalam kurung kurawal. Namanya bebas Anda tentukan; tipenya adalah tipe yang sedang diperluas.

extension NumberParsing on String {
  int doubled() => int.parse(this) * 2;
}

this Menunjukkan Penerima

Di dalam ekstensi, this merujuk pada nilai tempat Anda memanggil metode tersebut, sama seperti di dalam metode kelas biasa.

extension on int {
  int squared() => this * this;
}

Panggil Seperti Metode Sungguhan

Setelah didefinisikan, metode Anda terasa sepenuhnya alami. Anda memanggilnya dengan titik, sama seperti metode yang disediakan bersama tipe tersebut.

print(5.squared()); // 25

Tambahkan Getter, Bukan Metode

Ekstensi juga dapat menambahkan getter. Hilangkan tanda kurung, lalu Anda mendapatkan pembacaan bergaya properti yang rapi pada nilai apa pun.

extension on int {
  bool get isEven2 => this % 2 == 0;
}
print(4.isEven2);

Ekstensi Bersifat Statis

Penentuan metode terjadi pada waktu kompilasi berdasarkan tipe statis. Tidak ada perubahan saat program berjalan pada kelas aslinya.

Penamaan Itu Opsional

Anda bahkan dapat menulis ekstensi tanpa nama. Ekstensi tersebut tetap berfungsi, tetapi nama akan membantu Anda menyembunyikan atau mengimpornya nanti saat diperlukan.

extension on double {
  String money() => "$" + toStringAsFixed(2);
}

Satu Gagasan untuk Setiap Ekstensi

Kelompokkan pembantu yang berkaitan di bawah nama yang fokus. Ekstensi kecil dengan nama yang jelas lebih mudah dibaca daripada satu ekstensi besar yang berisi berbagai hal.

extension StringCasing on String {
  String shout() => toUpperCase() + "!";
}

Anda Tidak Dapat Menambahkan Field

Ekstensi dapat menambahkan metode dan getter, tetapi tidak field instans baru. Tidak ada tempat pada objek asli untuk menyimpannya.

Mengapa Ini Begitu Bermanfaat

Ekstensi memberi Anda pembantu yang mudah dibaca dan ditemukan tanpa kelas pembungkus. Tipe yang Anda gunakan sehari-hari mendapatkan kosakata yang benar-benar dibutuhkan aplikasi Anda.

Pemeriksaan Singkat

Mari periksa sintaks inti sebuah ekstensi.

Ringkasan: Ekstensi Pertama Anda

Anda telah mempelajari bahwa extension on Type menambahkan metode dan getter ke tipe yang sudah ada, menggunakan this sebagai penerima, dan ditentukan secara statis. 🚀

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 “Menulis Extension Pertama Anda” gratis?

Ya — teks lengkap “Menulis Extension Pertama Anda” 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 “Menulis Extension Pertama Anda”?

Menambahkan metode baru ke tipe bawaan 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 1 dari 4.

Berapa lama pelajaran “Menulis Extension Pertama Anda” 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. Menulis Extension Pertama Anda
  2. Extension pada Generics
  3. Anggota Extension Static dan Konflik
  4. Tipe Extension untuk Wrapper Tanpa Biaya
← Kembali ke Dart Academy