flutter学习笔记一

2019-04-11  本文已影响0人  B_f773

dart

修饰词--------------------------------------------------------
类型--------------------------------------------------------
var str = "在字符串中加入变量${int}"

数组集合List可存入多种类型(因为list默认泛型为object,指定泛型后不能存入其他泛型)

List arr = new List();
arr.add("0");
arr.add(12);
特殊符号--------------------------------------------------------
class User{
  int _num;//私有变量
  _User(){} //私有构造
  User _newInstance(){}//私有方法
}

使用''' '''放入多行内容

'''
就像java中使用多行注释一样的效果
这里
可以
随意
换行
'''
类的构造函数--------------------------------------------------------
// 1、和java中构造函数一样
class User{
  String name;
  String psw; 
  User(String str1, String str2) {
    name = str1;
    psw = str2;
  }
}

//2、如传入参数与定义参数相同,无法赋值步骤
class User{
  String name;
  String psw; 
  User(String name, String psw) {
    name = name;
    psw = psw;
  }
}

//3、构造函数传值可选传
class User{
  String name;
  String psw; 
  User({String name, String psw}) {
    name = name;
  }
}

//4、创建指定传参的构造函数
class User{
  String name;
  String psw; 
  User.name(String name);
}

//5、在初始化构造中给变量赋值
class User{
  String name;
  String psw; 
  User.name(String name);
  User.init():name="lisa", psw="123";
}

//6、在重定向构造中给变量改值
class User{
  String name;
  String psw; 
  User.name(String name);
  User.init():name="lisa", psw="123";
  User.forword():this.name("aya");
}

//7、常量构造函数 
class User{
  final String name;
  final String psw; 
  User(String name, String psw) ;
}

//8、工厂模式构造函数
class User{
  String name;
  String psw;
  User.instance(this.name);
  static final Map<String, User> cacheMap = new Map<String, User>();

  factory User(String name){
    if(cacheMap.containsKey(name)){
      return cacheMap[name];
    } else {
      cacheMap[name] = User.instance(name);
      return cacheMap[name];
    }
  }
}
抽象类--------------------------------------------------------
abstract class Person{
  String name;
  int age;
  Person(this.name, this.age);
  void printName();
}

子类继承抽象类

class Student extends Person{
  Student(String name, int age) : super(name, age);
  @override
  void printName() {
    // TODO: implement printName
    print("-----------------------------------" + name + age.toString());
  }
}

创建子类,调用方法

void main(){
  try{
    Student student = new Student("list", 12);
    student.printName();
    //输出  -----------------------------------list12
  }catch(e){
    print(e);//输出-->异常:分母不可以为0
  }
}
接口--------------------------------------------------------
class TextListener{
  void call(){
    print("接口回调----------------------成功");
  }
}
void main(){
  try{
    TextListener  listener = new  TextListener();
    listener();//输出: 接口回调----------------------成功
  }catch(e){
    print(e);//输出-->异常:分母不可以为0
  }
}
class TextWidget implements TextListener{
  @override
  void call() {
    // TODO: implement textCall
    print("接口回调----------------------成功");
  }
}

调用子类

void main(){
  try{
    TextWidget text = new TextWidget();
    text.call();
  }catch(e){
    print(e);//输出-->异常:分母不可以为0
  }
}
上一篇 下一篇

猜你喜欢

热点阅读