Mixin, No Such Method, TypeDef, Callable class, Exception, Try Catch Finally di dart
Mixin
Mixin merupakan resuable code yang bisa digunakan di kelas lain tanpa harus terkendala dengan pewarisan
Mixin mirip melakukan copy paste di beberapa tempat, namun dengan cara yang lebih baik
dengan mixin, kita bisa membuat code yang sama pada beberapa class
satu class bisa menambah lebih dari satu mixin, sama seperti interface
untuk membuat Mixin, kita bisa menggunakan kata kunci mixin, untuk menggunakan Mixin, kita bisa menggunakan kata kunci with, diikuti dengan Mixin nya
Mixin itu intinya copy paste code dengan cara yang lebih elegan, tanpa ada pewarisan
secara default, semua class bisa menggunakan Mixin, namun jika ingin membatasi hanya class turunan tertentu, kita bisa menambahkan kata kunci on, diikuti dengan class yang kita batasi pada Mixin nya.
No Such Method
method bawaan dari object, No Such Method merupakan sebuah method yang terdapat di class Object yang bisa kita override untuk mendeteksi atau beraksi ketika sebuah method yang tidak ada dipanggil.
no such method hanya bisa digunakan ketika tipe objectnya adalah dynamic atau sebuah abstract class
Typedef
merupakan fitur dimana kita bisa membuat alias untuk tipe data lainnya
ini cocok ketika misal terdapat class dengan nama yang sama, sehingga kita bisa menggunakan alias untuk nama lain.
atau kita bisa mempersingkat nama class yang panjang dengan alias
Callable Class
Callable Class merupakan class yang biasa dipanggil seperti function
untuk membuat Callable class, kita perlu menambahkan sebuh method bernama call() di class tersebut
parameter dan return value dari method tersebut bisa disesuaikan dengan keinginan kita
setelah membuat objectnya, kita bisa langsung memanggil method call() tersebut menggunakan nama objectnya saja
Static
static merupakan sebuah kata kunci yang digunakan untuk membuat field dan method yang bisa diakses tanpa harus membuat objectnya.
saat kita membuat field atau method yang static, artinya dia secara otomatis bisa diakses oleh object manapun, oleh karena itu perlu hati-hati ketika membuat field atau method status
field atau method static tidak bisa mengakses field atau method yang tidak static
biasanya static digunakan untuk membuat utility
untuk akses field static atau method, kita bisa langsung menggunakan nama class diikuti dengan titik dan static Field atau methodnya.
Enum
fitur untuk membuat tipe data yang sudah jelas nilainya, seperti jenis kelamin atau level membership misalnya
untuk membuat enum, bisa menggunakan akata kunci enum
Exception
digunakan untuk merepresentasikan error sebuah program, validasi program jika ada inputan yang tidak sesuai misalnya.
untuk menggunakan sebuah exception, kita bisa menggunakan kata kunci throw, diikuti object exceptionnya
Penanganan Error dengan Try Catch
cara menggunakan try catch sangat mudah, di block try, kita tinggal panggil method yang bisa menyebabkan exception, dan di block catch, kita bisa melakukan sesuatujika terjadi exception.
menangkap object exception, menampilkan detail errornya bisa dengan cara seperti ini:
bisa juga membuat multiple try catch, contohnya seperti di bawah ini
Finally
block finally cocok dimana kita kan selalu eksekusi perintah baik terjadi exception atau tidak.
ini sangat cocok saat ingin melakukan sesuatu , tidak peduli sukses atupun gagal.
Stack Trace
try catch finally, belum bisa menunjukkan informasi posisi atau lokasi terjadinya error, kalau mau tahu bisa menggunakan StackTrace
Error
ini merupakan bug program, Error adalah jenis kesalahan yang harus dihindari, dan jika terjadi lebih baik segera hentikan program.
kalau terjadi error ya kode program harus segera diperbaiki