flutter從入門到精通二

靜態方法和靜態屬性(static):

  • 通過static修飾的方法和屬性稱爲靜態方法和靜態屬性,注意靜態方法和靜態屬性只能通過類名訪問,不能通過對象訪問。
  • 靜態方法不能訪問非靜態的屬性和非靜態方法,反正可以
class Person{
  String name;
  int age;
  Person(this.name,this.age);
  printInfo(){
    //在字符串中,可以直接通過${}訪問類的屬性和方法
    print('${this.name}---${this.age}');
  }
}

class Web extends Person{
  /**
    *super 是調用父類的構造方法
    *構造函數是無法繼承,所有在子類繼承父類的時候,需要super來實現父類的構造方法
    */
  Web(String name, num age) : super(name, age);
    
  // override可寫,可不寫,建議寫上
  @override
  printInfo(){
    print('子類中的${this.name}---${this.age}');
  }
}
main(){
  /**
   * Dart中對象操作符
   * ?條件運算符
   * is類型判斷
   * ..級聯操作
   */
  Person p1;
  // 下面表示如果p1是空,表示不執行後面的,如果有值,執行後面的
  p1?.printInfo();
  Person p2=new Person('張三',20);
  p2?.printInfo();

  p2..name='李四'
    ..age=20
    ..printInfo();
}  
抽象類:用abstract修飾的類

抽象類中有抽象方法,其是沒有方法體的,繼承抽象類的子類必須要實現子類的抽象方法

abstract class Animal{
  // 抽象方法,子類必須要實話抽象方法
  eat(); 
}

class Dog extends Animal{
  @override
  eat() {
    print('我是小狗');
  }
}
main(){
  /**
   * 抽象類(abstract主要用來指定標準)
   * 在dart中,定義接口和定義抽象類一樣,都使用abstract,**dart中接口沒有使用interface定義**
   * 抽象類不能被實例化,只有繼承他的子類實例化 
   * 接口裏面必須全部是抽象方法,沒有普通的方法,但是抽象類中可以既有普通方法,也有抽象方法
   */
  Dog d=new Dog();
  d.eat();
}  

一個類可以實現多個接口,但是隻能單繼承抽象類,如果模仿多繼承,可以使用mixins,作爲mixins的類只能繼承Object,不能繼承其他的類,作爲mixins的類不能有構造函數,如下:

class A{
  printA(){
    print('A');
  }
}
class B{
  printB(){
    print('B');
  }
}
//如果模仿多繼承,可以使用mixins
class C with A,B{

}
main(){
  C c1=new C();
  c1.printB();
}  
泛型:可以解決代碼重用和不特定的類型校驗的問題
// 泛型方法,注意需要加上三個地方T
T getData<T>(T data){
  return data;
}
main(){
  
  print(getData<String>('我叫唐凱震'));
}  

dart中的庫

import 'package:http/http.dart';
main(){
  /**
   *  庫
   * dart中,庫通過import引入,注意是沒有from
   * 每個dart文件都是一個庫
   * 庫分類:
   * 1,自定義庫
   * 2,系統內置的庫:import 'dart:xxx'
   * 3,第三方庫,託管到pub包管理系統中的
   * 第三方庫可以從下面的地址中尋找:
   * https://pub.dev/packages
   * 
   * 使用第三方庫按照下面步驟:
   * 1,創建pubspec.yaml文件
   * 2,配置pubspec.yaml文件
   * 3,運行put get獲取遠程庫
   * 5,看文檔引入庫使用
   */
}  

con

掃碼關注公衆號,有更多精彩文章等你哦

file

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章