Dart中的对象 类 类的创造 构造函数 命名构造函数
2020-06-17 本文已影响0人
泛滥的小愤青
自定义类
// 自定义类 ,名称首字母要大写
class Person {
// 添加属性
String name = "张三";
int age = 23;
// 类里面的方法,void表示方法没有返回信息
void printInfo(){
// 两种写法
// print("$name---$age");
print("${this.name}----${this.age}");
}
}
void main(){
// 使用类 ,先实例化
Person p1 = new Person();
print(p1.name); // 访问name
p1.printInfo(); // 调用类里面的方法
}
张三
张三----23
自定义类 --- 默认构造函数(传参)
// 自定义类 ,名称首字母要大写
class Person {
// 添加属性
String name;
int age;
// 初始化运行-----默认构造函数
// 构造函数 传参
Person(String name,int age){
// print("构造函数内容,方法在实例化的时候触发");
// 动态制定属性
this.name = name;
this.age = age;
}
// 类里面的方法,void表示方法没有返回信息
void printInfo(){
print("${this.name}----${this.age}");
}
}
void main(){
// 使用类 ,先实例化
// 类可以实例化 多次
Person p1 = new Person('张三',33);
p1.printInfo(); // 调用类里面的方法
Person p2 = new Person('李四',44);
p2.printInfo();
}
张三----33
李四----44
默认构造函数 -- 简写
Person(this.name,this.age);
命名构造函数(可以多个)
// now() 就是命名的
// void main(){
// var d = DateTime.now();
// print(d);
// }
// 自定义类 ,名称首字母要大写
class Person {
String name;
int age;
// 默认构造函数的简写
Person(this.name,this.age);
Person.now(){
print("我是命名构造函数!");
}
void PrintInfo(){
print("${this.name}----${this.age}");
}
}
void main(){
// Person p1 = new Person('张三',11); // 默认实例化类的时候,调用的是默认构造函数
// p1.PrintInfo();
Person p1 = new Person.now();
}
我是命名构造函数!
命名构造函数(传参)
// 自定义类 ,名称首字母要大写
class Person {
String name;
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}");
}
}
void main(){
Person p1 = new Person.setInfo('王五',18);
p1.PrintInfo();
}
王五----18
抽离
- 单独类可以抽离一个文件(模块)Person.dart,用import引用即可
- 好处:模块化,实现多人开发