对象操作符
对象操作符
条件成员访问: ?.
var person = new Person(); person?.work();
对成员是否为空进行判断
类型转换as
var person; person = ""; person = new Person(); (person as Person).work();
是否指定类型:is, is!
var person;
person = "";
person = new Person();
// (person as Person).work();
if (person is Person) {
person.work();
}级联操作:..
var person = new Person(); person..name = "Tome" ..age = 20..work();
..级联操作符示例
类型转换 as
判断为是否是指定的类型 is , !is
级联操作 ..
条件对象操作符 obj?.function() obj为null时function不会被执行。访问属性也同样
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空
类型转换 as (后面跟类型名称)
是否指定类型 is, is!
级联操作 ..
级联操作符:..
条件运算符
void main(){
Person3 person;
person?.name;//?.判断person是否为空,为空则不操作
var person1;
person1="";
person1=new Person3();
(person1 as Person).work();//as person作为Person对象
//is is! 判断person1是否是Person对象
if(person1 is Person){
}
//级联操作
var person2=new Person();
person2..name="tom"
..age=15
..work();
}
class Person3{
String name;
int age;
void work(){
print("work");
}
}
级联操作福
对象操作符
条件成员访问: ?.
使用格式person?.name
不明确person对象是否为空的时候使用,为空时不报错也没有结果
对象操作符。
?如果前面为空,就不执行后面代码
对象操作符
级联操作符
对象操作符
..级联操作符用法相当于builder
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空


类型转换 as (后面跟类型名称)
是否指定类型 is, is!

4,级联操作 .. (重要)

void main(){
// Person person = new Person();
// ?. person为null的时候不执行 后面的.work
// person?.work();
var person ;
person = "";
person = new Person();
(person as Person).work(); // as 类型强转
if(person is Person){ // 是否指定类型
person.work();
}
// .. 级连
new Person()..name ="bb"
..age = 12
..work();
}
class Person{
String name;
int age;
void work(){
print("work....");
}
}
对象操作符
不解释看图
person.? .?是条件运算符
对象操作符


?表示 如果person对象为空 则不进行 name属性的访问了 防止报错

as 表示 类型的强制转换 对比oc

?.非空判断,与kotlin使用规则一致,as 类型转换,与kotlin规则一致,真不愧是一家公司推得,类型判断 is is!一致, .. 级联操作,与建造者模式,builder模式使用规则一致。
对象操作符