dart中静态成员
1 使用satic关键字 来实现类级别的变量和函数
2 静态方法不能够访问非静态成员, 非静态方法可以访问静态成员
3 静态属性,不要通过this去访问
因为this指向的是这个实例化对象,访问直接写名称
1 Dart中访问静态属性和方法
class Rect {
static String name = '矩形'; //这是静态属性
// 这是静态方法,访问的静态属性不要通过this
static void show() {
print(name);
}
}
void main() {
//访问静态属性和方法
print(Rect.name);
Rect.show();
}
2 Dart中的对象操作符
? 条件运算符 (做了解)
? 的使用 ? 条件为真的时候,就执行后面的内容。为假,就不执行
as 类型转换
is 类型判断
.. 级联操作 (连缀 很常用)
3 Dart 中 ? 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
Rect r;
//r 是null,它的条件是假,不会执行后面的内容哈。
r?.userInfo();
}
4 Dart中操作符 is 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
var r = new Rect('矩形');
if (r is Rect) {
print('r是Rect这个实例对象');
} else {
print('r不是Rect这个实例对象');
}
//所有类都是Object的子类
if (r is Object) {
print('是Objectd的一个子类');
}
}
5 Dart中操作符 as 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
var p;
p = '';
p = new Rect('矩形');
//在老版本中会报错,所以使用as进行转换
//将字符串转为实例对象
(p as Rect).userInfo();
}
6 Dart中操作符 .. 级联选择器的使用
class Rect {
String name = '矩形';
String w = '20cm';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}==>${this.w}");
}
}
void main() {
Rect r = new Rect('矩形');
// r.userInfo();
// r.name = '我是正方形';
// r.w = '40cm';
// r.userInfo();
// 使用级联可以这样使用
r
..userInfo()
..name = '我是正方形'
..w = '40cm'
..userInfo();
}
通过这个栗子,我们知道了级联操作符的使用,就是可以多次操作同一个实例对象,就像jquery中的链式操作.