构造函数会在这个类实例化的时候触发
class Person{
String name='张三';
int age=20;
//默认构造函数
Person(){
print('这是构造函数里面的内容 这个方法在实例化的时候触发');
}
void printInfo(){
print("${this.name}----${this.age}");
}
}
Person p1=new Person();
p1.printInfo();
默认构造函数传值:
class Person{
late String name;
late int age;
//默认构造函数
Person(String name,int age){
this.name=name;
this.age=age;
}
void printInfo(){
print("${this.name}----${this.age}");
}
}
Person p1=new Person('张三',20);
p1.printInfo()
默认构造函数的简写:
上面默认构造函数传值的示例代码也可以进行简写
class Person{
late String name;
late int age;
//默认构造函数的简写
Person(this.name,this.age);
void printInfo(){
print("${this.name}----${this.age}");
}
}
Dart里面构造函数可以写多个,这个时候我需要通过命名构造函数来实现。
回顾一下我们前面用到的命名构造函数,下面代码表示实例化DateTime调用它的命名构造函数。
var d=new DateTime.now(); //实例化DateTime调用它的命名构造函数
print(d);
命名构造函数示例代码:
class Person {
late String name;
late int age;
//默认构造函数的简写
Person(this.name, this.age);
Person.now() {
print('我是命名构造函数');
}
Person.setInfo(String name, int age) {
this.name = name;
this.age = age;
}
void printInfo() {
print("${this.name}----${this.age}");
}
}
实例化命名构造函数
Person p2=new Person.now(); //命名构造函数