Dart基础第八篇:Dart面向对象之对象操作符

/**
 * Dart之对象操作符
 * 1、? 条件运算符
 * 2、as 类型转换
 * 3、is 类型判断
 * 4、.. 级联操作(重点)
 */
class Person{

  String name;
  num age;

  Person(this.name, this.age);

  void printInfo(){
    print('${this.name} ${this.age}');
  }

}

void main(){
  /**
   * 1、条件运算符(?) 如果对象没实例化 或者是null 加上?不会报错
   */
  Person p;
  p?.printInfo();

  /**
   * 2、类型转换(as) 在之前的版本中 使用var声明一个属性的时候 再次给这个属性赋予给别的对象会报错,这个时候就用到了as(现在的版本不会报错)
   */
  var a;
  //现在是String类型
  a = "";
  a = new Person("a", 1);
  //以前版本
  (a as Person).printInfo();
  //现在版本 可以直接调用
  a.printInfo();

  /**
   * 3、类型判断(is) 判断实例是否属于某个对象 当然 所有的实例都是基于Object
   */
  Person person = new Person("李四", 1);
  print(person is Person);
  print(person is Object);

  /**
   * 4、级联操作(..)
   */

  //我们要对一个对象进行值的修改并打印
  person.name = '王五';
  person.age = 10;
  person.printInfo();

  //此方法和上边方法效果相同
  person..name='赵六'
        ..age=20
        ..printInfo();

}
发布了66 篇原创文章 · 获赞 36 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u013600907/article/details/99736619
今日推荐