Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.33 KB | None | 0 0
  1. abstract class Ride {
  2.   bool ride();
  3. }
  4.  
  5. abstract class Train implements Ride {
  6.   bool ride() {
  7.     // pociag nie jezdzi sam bez rozkladu
  8.     return false;
  9.   }
  10. }
  11.  
  12. mixin Pon on Ride {
  13.   bool ride() {
  14.     return super.ride() || DateTime.now().weekday == 1;
  15.   }
  16. }
  17.  
  18. mixin Wt on Ride {
  19.   bool ride() {
  20.     return super.ride() || DateTime.now().weekday == 2;
  21.   }
  22. }
  23.  
  24. mixin Sr on Ride {
  25.   bool ride() {
  26.     return super.ride() || DateTime.now().weekday == 3;
  27.   }
  28. }
  29.  
  30. mixin Czw on Ride {
  31.   bool ride() {
  32.     return super.ride() || DateTime.now().weekday == 4;
  33.   }
  34. }
  35.  
  36. mixin Pt on Ride {
  37.   bool ride() {
  38.     return super.ride() || DateTime.now().weekday == 5;
  39.   }
  40. }
  41.  
  42. mixin Sob on Ride {
  43.   bool ride() {
  44.     return super.ride() || DateTime.now().weekday == 6;
  45.   }
  46. }
  47.  
  48. mixin Nd on Ride {
  49.   bool ride() {
  50.     return super.ride() || DateTime.now().weekday == 7;
  51.   }
  52. }
  53.  
  54. class Tygodniowy extends Train with Pon, Wt, Sr, Czw, Pt, Sob, Nd {}
  55.  
  56. class Weekendowy extends Train with Sob, Nd {}
  57.  
  58. class WTygodniu extends Train with Pon, Wt, Sr, Czw, Pt {}
  59.  
  60. class Srodowy extends Train with Sr {}
  61.  
  62. void main() {
  63.   print('ktory pociag przyjezdza');
  64.   print('tygodniowy ${Tygodniowy().ride()}');
  65.   print('weekendowy ${Weekendowy().ride()}');
  66.   print('w tygodniu ${WTygodniu().ride()}');
  67.   print('srodowy ${Srodowy().ride()}');
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement