Dart 程式設計中的 Mixin


Dart 中的 Mixin 是一種在多個類層次結構中再次使用類程式碼的方式。我們使用 with 關鍵字後跟一個或多個混入名稱。

混入可以使用兩種方式,第一種情況是我們希望以類不包含任何建構函式且類物件已擴充套件的方式使用類程式碼。在這種情況下,我們使用 with 關鍵字。

另一種情況是我們希望將混入用作常規類,然後我們使用 mixin 關鍵字代替類。

現在,讓我們在 Dart 中建立不同的類,其中一個是名為 Perimeter 的簡單類,另一個是 Mixin,我們將使用其主體程式碼。

示例

考慮以下所示的示例 -

 線上演示

import 'dart:math';

class Position {
   int x;
   int y;

   double distanceFrom(Position dis) {
      var dx = dis.x - x;
      var dy = dis.y - y;
      return sqrt(dx * dx + dy * dy);
   }
}

class Perimeter {
   int length;
   int breadth;

   int get area => 2 * (length * breadth);
}

class PerimeterView extends Perimeter with Position {}

void main() {
   var origin = new Position()
      ..x = 0
      ..y = 0;

   var p = new PerimeterView()
      ..x = 5
      ..y = 5
      ..length = 10
      ..breadth = 11;

   print(p.distanceFrom(origin));
   print(p.area);
}

應該注意的是,當我們使用包含 Position 的 Mixin 來擴充套件 Perimeter 類時,我們正在使用 Mixin。

輸出

7.0710678118654755
220

更新於: 21-5-2021

2K+ 次瀏覽

開啟您的職業生涯

完成課程即可獲取認證

開始學習
宣傳