Làm cách nào tôi có thể sử dụng phương thức từ lớp cá thể với tên lớp mới?

lập trình


Xin chào, tôi mới làm quen với Flutter/Dart. Khi tôi lấy một phiên bản của một lớp và thử sử dụng một phương thức trong đó, tôi gặp lỗi dưới đây. Làm cách nào tôi có thể sử dụng phương thức từ lớp phiên bản với tên lớp mới? Cảm ơn.

"The instance member 'newData' can't be accessed in an initializer.
Try replacing the reference to the instance member with a different expression"

Ví dụ của tôi dưới đây:

phi tiêu
class Data {
    String read() {
        return "";
    }
}

class Data2 {
    var newData= Data(); // I took instance from the Data class.
    String readData = newData.read(); //Here it gives the above error. I want to use it as newData.read(), not Data.read().
}

Những gì tôi đã thử:

Tôi không có ý kiến ​​gì? Tôi có thể sử dụng as Data.read() nhưng tôi nghĩ cách này không đúng nếu tôi sử dụng phiên bản có tên cha mẹ trong một lớp mới.

Giải pháp 1

Tôi đã tìm thấy giải pháp trên kênh bất hòa rung động/phi tiêu.
Lẽ ra tôi nên đánh dấu phương thức của lớp mới là “muộn”.
Tôi đánh dấu muộn rồi bây giờ đang làm việc.

phi tiêu
class Data {
    String read() {
        return "";
    }
}

class Data2 {
    var newData= Data(); // I took instance from the Data class.
   late String readData = newData.read(); // I can using as newData.read() now
}

コメント

タイトルとURLをコピーしました