注意:Dart中没有像别的语言一样的修饰符例如public,private.... 如果需要在Dart中将一个属性或者方法定义成私有,需要在前面加 _, 例如:
class Person{
//这样声明为私有变量,外部无法访问
int _age;
void _privateMethod(){
print('这是一个私有方法');
}
}

一、匿名方法
定义:
(参数1,参数2,....){
方法体...
return 返回值
}
具体例子如下:
//常见的方法一般是下面这种类型
void normalMethod(String params){
}
//匿名方法
var niNameMethod=(){
print('我是一个匿名方法');
};
二、自执行方法
((int n){
print('自执行方法:$n');
})(11);
三、变量
- 全局变量:常驻内存
- 局部变量:不常驻内存,会被垃圾回收机制回收
四、Dart命名构造函数
//命名构造函数
class Person{
String name;
int age;
//默认构造函数
Person(this.name,this.age);
//命名构造函数 , 可以写多个
Person.now(this.name,this.age){
//这里可以进行一些别的操作
}
//打印相关信息
void printInfo() {
print('Name = ${this.name} , Age = ${this.age}');
}
}
五、Dart get、set 修饰符
- get修饰符使用
class Person{
//这样声明为私有变量,外部无法访问
int _age;
// void _privateMethod(){
// print('这是一个私有方法');
// }
//
//拿到属性值可以这样写get 方法
int getAge(){
return _age;
}
//也可以这样写,使用get修饰符,注意这里没有"()"
get getAge2{
return _age;
}
}
//————————————————————————————————————————
//使用的时候,get修饰符,跟调用属性一样,也是没有()
void main(){
Person p1=Person();
print('get修饰符使用:${p1.getAge2}');
}
- set 修饰符使用
......
//set修饰符使用,这里虽然使用()传入值,但是使用的时候,直接 等号赋值即可
set setAge(int age){
this._age=age;
}
//————————————————
//注意:这里使用的时候,直接使用等号赋值
p1.setAge=11;
print('set修饰符使用:${p1.getAge2}');
.....
六、初始化列表
初始化列表,先赋值,再执行初始化操作,写法如下:
//初始化列表,写法如下
Person() : _age = 10 {
print('初始化列表中赋值_age :$_age ');
}
网友评论