簡體   English   中英

Dart & Flutter:如何在另一個 class 中調用 class 方法

[英]Dart & Flutter: How to call for a class method inside another class

Dart 的新手,如果這是一個多余的問題,請提前道歉; 我找不到答案。 我創建了一個 function simulateRequest ,然后將它傳遞給它自己的 class SimReq ,並單獨保存在一個文件中。 我在主文件中導入了 class,但是當我嘗試執行它時,出現錯誤,這是 class 代碼:

class SimReq {
  void simulateRequest() async {

    // first future holds family name
    String famNameFunc = await Future.delayed(Duration(seconds: 2), (){
      String famName = 'Shanshi';
      return famName;
    });


    // second future holds first name
    String compName = await Future.delayed(Duration(seconds: 1), (){
      String fstName = 'Yoshi';
      String compName = '$fstName - $famNameFunc';
      return compName;
    });

    print(compName);
  }
    SimReq(){
    simulateRequest();
 }
}

這是主要文件代碼:

import 'package:flutter/material.dart';
import 'package:wtap/pages/simreq.dart';

class ChoseLocation extends StatefulWidget {
  @override
  _ChoseLocationState createState() => _ChoseLocationState();
}

class _ChoseLocationState extends State<ChoseLocation> {
  int counter = 0;
  @override
  void initState() {
    super.initState();
    print('This is the initial state.');
    SimReq.simulateRequest(); // I am trying to execute the function here.
  }
  

如果您想訪問它的方法,您必須實例化 SimReq class 的 object ,例如:

SimReq simReq = SimReq();
simReq.simulateRequest();

或使用static關鍵字使此 function 在此 class 之外可訪問

static void simulateRequest() async {

沒有實例

 simReq().simulateRequest();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM