【Flutter】Dart入門

void main() {
  print("Hello!");
}
void main() {
  const a = 12;
  const int b = 34;
  int c = 56;
  var x = a * b ~/ c;
  print(x);
}
void main() {
  var arr = <int>[1,2,3];
  arr[0] = arr[1] + arr[2];
  print(arr);
}
void main() {
  var map = {"A":1, "B":2, "C":3};
  map["total"] = map["A"]! + map["B"]! + map["C"]!;
  print(map);
}

setterとgetter

void main() {
  Person me = Person("Taro", 39);
  me.say();
  me.birth = 1999;
  me.say();
}

class Person {
  String _name;
  int _age;
  
  int get birth => 2022 - _age;
  set birth(int n) => _age = 2022 - n;
  
  Person(this._name, this._age);
  
  void say() {
    print("Hi, I'm $_name. I was born in $birth ($_age years old).");
  }

setterとgetter

void main() {
  Exchange salary = Exchange(1000000, 144.5);
  salary.say();
  salary.dollar = 10000;
  salary.say();
}

class Exchange {
  double _yen;
  double _rate;
  
  double get dollar => _yen / _rate;
  set dollar(double n) => _yen = n * _rate; 
  
  Exchange(this._yen, this._rate);
  
  void say() {
    print("1ドル $_rate の時、$_yen 円は $dollar ドルです。");
  } 
}

1ドル 144.5 の時、1000000 円は 6920.415224913495 ドルです。
1ドル 144.5 の時、1445000 円は 10000 ドルです。

### 継承
継承の元となるclassをスーパークラスという

void main() {
  Person me = Person("Taro", 39);
  me.say();
  Student you = Student("Hanako", 16, 2);
  you.say();
}

class Person {
  String _name;
  int _age;
  
  Person(this._name, this._age);
  
  void say() {
    print("Hi, I'm $_name. I'm $_age years old.");
  }
}

class Student extends Person {
  int _grade;
  
  Student(name, age, this._grade):super(name, age);
  
  @override
  void say() {
    print("Hi, I'm $_name. I'm $_age years old. I'm $_grade grade student.");
  }
}
void main() {
  Company jr = Company("東日本旅客鉄道","渋谷区");
  jr.say();
  Airline ana = Airline("全日本空輸","港区","スターアライアンス");
  ana.say();
}

class Company {
  String _name;
  String _address;
  
  Company(this._name, this._address);
  
  void say() {
    print("$_name : 所在地 $_address");
  }
}

class Airline extends Company {
  String _alliance;
  
  Airline(name, address, this._alliance):super(name, address);
  
  @override
  void say() {
    print("$_name : 所在地 $_address $_alliance");
  }
}

東日本旅客鉄道 : 所在地 渋谷区
全日本空輸 : 所在地 港区 スターアライアンス

void main() {
  const data = [12, 34, 566, 78, 90, 100];
  var total = 0;
  data.forEach((n){
    total += n;
  });
  print("total is $total.");
}