慌乱与迷茫来自于失望与放弃。按部就班就好
这周会把Flutter课程收尾,同时写成相关的博客,然后总结出自己心得,紧接着进入公司项目的实战开发,然后再回过头来看之前的一些积累和认识。
基础widget
- Container
增加布局pading,margin,decoration,BoxConstraints对子widget增加一个约束.
class Logger {
static Logger _cache;
//命名构造函数
factory Logger() {
if (_cache == null) {
_cache = Logger.private('private');
}
return _cache;
}
//命名构造函数 不是扩展函数
Logger._internal(){
Logger.private('name');
print("");
}
//命名构造函数
Logger.private(String name){
print('构造函数: $name');
}
void log(String msg) {
print(msg);
}
}
void main(){
var logger2 = Logger()..log('msg');
var logegr1 = Logger();
print(logegr1==logger2);
}
void logger(){
var logger = Logger();
logger.log("startprint");
}
构造函数: private
msg
true
命名工厂构造方法
void main() {
var student = Student.stu(Student('bob'));
print(student);
}
class Student {
final String name;
String sex;
Student(this.name, [this.sex]);
//命名工厂构造方法更加的灵活 不用像命名构造那样,final修饰的值必须进行传递.
factory Student.stu(Student student) {
return Student(student.name, student.sex);
}
}
网友评论