面向对象-对象操作符

class Person {
  String name = '张三';
  int age = 20;

  Person(this.name, this.age);
  void printInfo() {
    print("${this.age}----${this.name}");
  }
}

void main() {
  //  Person p;
  //  p?.printInfo();  // 判断如果对象为空  就不打印后面的方法

  /**
    *   ? 条件运算符
    *    as 类型转换
    *   is 类型判断
    *    .. 级联操作(连缀)
  */

  // Person p = new Person('张三', 20);
  // p?.printInfo(); // 20----张三

  // Person p = new Person('张三', 20);

  // if (p is Person) {
  //   p.name = "李四";
  // }

  // p.printInfo(); // 20----李四
  // print(p is Object); // true

  // var p1;
  // p1 = '';

  // p1 = new Person('张三', 20);
  // p.printInfo(); // 20----张三

  // (p1 as Person).printInfo(); // 20----张三

  // Person p1 = new Person('张三', 20);
  // p1.printInfo(); // 20----张三
  // p1.name = '张三222';
  // p1.age = 40;
  // p1.printInfo(); // 40----张三222

  Person p1 = new Person('张三', 20);
  p1.printInfo();

  // 连缀操作
  p1
    ..name = "李四"
    ..age = 30
    ..printInfo(); // 30----李四
}
posted @ 2021-07-28 20:42  13522679763-任国强  阅读(33)  评论(0)    收藏  举报