Anggota Extension Static dan Konflik
Menyelesaikan benturan dan menambahkan helper static
Anggota Extension Static dan Konflik 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.
Dua Pembantu, Nama Sama
Impor dua ekstensi yang sama-sama menambahkan metode bernama parse ke String, dan Dart tidak lagi tahu metode mana yang Anda maksud.
Mengapa Konflik Terjadi
Anggota ekstensi bukan bagian dari tipe itu sendiri, jadi dua metode dengan nama sama menjadi sebuah ambiguitas yang tidak mau ditebak oleh kompiler.
Temukan Kesalahannya
Saat hal ini terjadi, Dart melaporkan ekstensi yang ambigu lalu berhenti, alih-alih memilih salah satunya secara diam-diam.
"7".parse(); // error: ambiguous between two extensionsSembunyikan Salah Satunya Saat Impor
Gunakan hide pada impor untuk menghapus satu ekstensi yang bertentangan berdasarkan namanya, sehingga ekstensi lain dapat digunakan untuk pemanggilan tersebut.
import 'b.dart' hide NumberParsing;Atau Tampilkan Hanya Satu
Trik kebalikannya adalah show, yang hanya mengimpor nama-nama yang Anda cantumkan dan secara diam-diam mengecualikan sisanya.
import 'a.dart' show NumberParsing;Panggil Secara Eksplisit
Anda juga dapat menentukan penerapan secara tepat dengan explicit: sebutkan nama ekstensi dan teruskan nilainya di dalam tanda kurung.
NumberParsing("7").parse();Tambahkan Anggota Statis
Ekstensi juga dapat memiliki anggota statis. Anggota ini menjadi bagian dari nama ekstensi, bukan dari nilai tempat Anda memanggil metode.
extension MathX on num {
static num clampLow(num x) => x < 0 ? 0 : x;
}Akses Anggota Statis berdasarkan Nama
Panggil anggota statis melalui nama ekstensi, sama seperti anggota statis pada kelas. Nilai penerima tidak terlibat.
print(MathX.clampLow(-3)); // 0Anggota Statis Memerlukan Nama
Karena anggota statis diakses melalui ekstensi, ekstensi tanpa nama tidak dapat menyediakannya. Beri nama ekstensi tersebut untuk menggunakan anggota statis.
Anggota Instans dan Anggota Statis
Anggota instans menggunakan this dan bekerja pada suatu nilai; anggota statis mengabaikan nilai tersebut dan berada pada ekstensi itu sendiri.
Rencanakan agar Tidak Saling Bertabrakan
Berikan nama dan anggota yang jelas serta spesifik pada ekstensi. Penamaan yang baik mencegah sebagian besar konflik sebelum show atau hide diperlukan.
Pemeriksaan Singkat
Satu konflik, satu perbaikan yang rapi. Mana yang berhasil?
Ringkasan: Anggota Statis dan Konflik
Anda dapat menyelesaikan ekstensi yang bertabrakan dengan show, hide, atau pemanggilan eksplisit, serta menambahkan anggota statis yang diakses melalui nama ekstensi. 🧩
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 “Anggota Extension Static dan Konflik” gratis?
Ya — teks lengkap “Anggota Extension Static dan Konflik” 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 “Anggota Extension Static dan Konflik”?
Menyelesaikan benturan dan menambahkan helper static 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 “Anggota Extension Static dan Konflik” 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
- Menulis Extension Pertama Anda
- Extension pada Generics
- Anggota Extension Static dan Konflik
- Tipe Extension untuk Wrapper Tanpa Biaya