Advertisement
juliarnasution

dart mixin

May 3rd, 2020
1,549
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.27 KB | None | 0 0
  1. mixin PemainMusik {
  2.   bool bisaMainPiano = false;
  3.   bool bisaMainGitar = false;
  4.  
  5.   void mainMusik() {
  6.     if (bisaMainPiano) {
  7.       print('dia main piano');
  8.     } else if (bisaMainGitar) {
  9.       print('dia main gitar');
  10.     } else {
  11.       print('dia tidak bisa main musik');
  12.     }
  13.   }
  14.  
  15.   set bisaMain(String keahlian) {
  16.     if (keahlian == 'piano') {
  17.       bisaMainPiano = true;
  18.     } else if (keahlian == 'gitar') {
  19.       bisaMainGitar = true;
  20.     }
  21.   }
  22. }
  23.  
  24. mixin Atlit {
  25.   bool bisaRenang = false;
  26.   bool bisaLari = false;
  27.  
  28.   void olahraga() {
  29.     if (bisaRenang) {
  30.       print('dia renang');
  31.     } else if (bisaLari) {
  32.       print('dia bisa kari');
  33.     } else {
  34.       print('dia tidak bisa jadi atlit');
  35.     }
  36.   }
  37.  
  38.   set bisaMain(String keahlian) {
  39.     if (keahlian == 'renang') {
  40.       bisaRenang = true;
  41.     } else if (keahlian == 'lari') {
  42.       bisaLari = true;
  43.     }
  44.   }
  45. }
  46.  
  47. class Bambang with PemainMusik, Atlit {
  48.   // @override
  49.   // void set bisaMain(String keahlian) {
  50.   //   // TODO: implement bisaMain
  51.   //   super.bisaMain = keahlian;
  52.   // }
  53. }
  54.  
  55. main() {
  56.   Bambang bambang = new Bambang();
  57.   bambang.bisaMain = 'piano'; // bisa main milik atlit
  58.   bambang.mainMusik();
  59.   bambang.bisaMain = 'renang';
  60.   bambang.olahraga();
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement