构造方法中可选参数应该是使用中括号包裹[]
来源:5-9 带你揭开Flutter中的面向对象(工厂构造方法)
绿色的青菜
2019-09-12
class Person {
String name;
String sex;
int age;
Person(this.name, this.sex, this.age);
}
class Student extends Person {
int score;
String className;
String like;
Student(String name, String sex, int age, this.score, [this.className = '三年一班', this.like = '无']) : super(name, sex, age);
void sayHello() {
print('Hello !');
}
@override
String toString() {
return '${this.name}, ${this.score}, ${this.className}, ${this.like}';
}
}
void main(){
Student stu = Student('小明', '男', 16, 99, '尖子一班', '打篮球');
print(stu.toString()); // 打印: 小明, 99, 尖子一班, 打篮球
Student stu2 = Student('小红', '女', 16, 99);
print(stu2); // 打印: 小红, 99, 三年一班, 无
}
写回答
2回答
-
绿色的青菜
提问者
2019-09-12
/// 总结一下. // 构造函数中的命名可选参数, 使用花括号{} Student(String name, String sex, int age, this.score, {this.className = '三年一班', this.like = '无'}) : super(name, sex, age); // 构造函数中的命名可选参数调用 Student stu = Student('小明', '男', 16, 99, className: '尖子一班', like: '打篮球'); // 构造函数中的未命名可选参数, 使用方括号[] Student(String name, String sex, int age, this.score, [this.className = '三年一班', this.like = '无']) : super(name, sex, age); // 构造函数中的未命名可选参数调用 Student stu = Student('小明', '男', 16, 99, '尖子一班', '打篮球');
20 -
绿色的青菜
提问者
2019-09-12
看到后面清楚了。 老师写的花括号是命名可选参数,也可以使用方括号定义可选参数。
00
相似问题