當前位置:編程學習大全網 - 源碼下載 - Dart語法補充---external關鍵字

Dart語法補充---external關鍵字

說道抽象類abstract,就不得不說壹下external關鍵字,external關鍵字估計用到人很少,在看源碼的時侯經常可以看到,如下:

external只聲明方法,聲明的方法需要由外部去實現 ,通常是由底層sdk根據不同平臺(vm、web等)實現;若外部沒實現,則會返回null;

external聲明的方法,通過@patch註解實現 , 結構如上 ;

比如Object裏各種external聲明方法的 實現如下 :

移動端external聲明方法實現在vm目錄下:

web端external聲明方法實現在js_runtime目錄下:

external方法的實現文件壹般命名為xxx_patch.dart,如在vm/lib目錄下,可以看到各種xxx_patch.dart文件:

可以在終端通過grep搜索命令找到對應類裏external方法實現的xxx_patch.dart文件:

以查找Object類裏external方法的實現為例:

1、Object類定義如下:

可以看到Object類裏有很多方法都是用external聲明

2、在flutter sdk目錄/bin/cache/dart-sdk/lib/_internal目錄下,執行查找class Object命令:

由此可知:web端Object實現文件是./js_runtime/lib/core_patch.dart

移動端Object實現文件是./vm/lib/object_patch.dart

打開web端Object實現文件./js_runtime/lib/core_patch.dart,如下:

打開移動端Object實現文件./vm/lib/object_patch.dart,如下:

可以看到Object裏各種external聲明方法對應的@patch註解實現方法

  • 上一篇:教學視頻php源代碼
  • 下一篇:APK逆向 ZIP格式相關問題
  • copyright 2024編程學習大全網