OmerAti adlı üyeden alıntı: mesajı görüntüle
Örnek
MyApp sınıfı
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Test Uygulaması',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Ana Sayfa'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              ElevatedButton(
                onPressed: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (context) => SoruSayfasi(test_1: TestVeri()),
                    ),
                  );
                },
                child: Text('Test'),
              ),
              ElevatedButton(
                onPressed: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (context) => SoruSayfasi(test_1: TestVeri2()),
                    ),
                  );
                },
                child: Text('Test 2'),
              ),
              ElevatedButton(
                onPressed: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (context) => SoruSayfasi(test_1: TestVeri3()),
                    ),
                  );
                },
                child: Text('Test 3'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
SoruSayfasi sınıfının içerisinde, TestVeri nesnelerini test_1 olarak almak

class SoruSayfasi extends StatefulWidget {
  final TestVeri test_1;

  SoruSayfasi({required this.test_1});

  @override
  _SoruSayfasiState createState() => _SoruSayfasiState();
}

class _SoruSayfasiState extends State<SoruSayfasi> {
  List<Widget> secimler = [];

  void butonFonksiyonu(bool secilenButon) {
    if (widget.test_1.testBittiMi()) {
    } else {
    }
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          centerTitle: true,
          title: Text('Soru Sayfası'),
        ),
        backgroundColor: Colors.indigo[700],
        body: Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: <Widget>[
            Expanded(
              flex: 4,
              child: Padding(
                padding: EdgeInsets.all(10.0),
                child: Center(
                  child: Text(
                    widget.test_1.getSoruMetni(),
                    textAlign: TextAlign.center,
                    style: TextStyle(
                      fontSize: 20.0,
                      color: Colors.white,
                    ),
                  ),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
MyApp sınıfında oluşturduğunuz TestVeri2 ve TestVeri3 sınıflarını aşağıdaki şekilde tanımla
class TestVeri2 extends TestVeri {
  TestVeri2() {
    _soruBankasi = [
      Soru(soruMetni: 'Soru A', soruYaniti: true),
      Soru(soruMetni: 'Soru B', soruYaniti: false),
    ];
  }
}

class TestVeri3 extends TestVeri {
  TestVeri3() {
    _soruBankasi = [
      Soru(soruMetni: 'Soru X', soruYaniti: true),
      Soru(soruMetni: 'Soru Y', soruYaniti: false),
    ];
  }
}
her buton farklı bir TestVeri sınıfını kullanarak soruları gösterecek koduna göre uyarla
Hocam çok teşekkür ederim işin gücün rast gelsin. Söylediklerinizin tamamını yaptım ve sadece şu eşitlik eklemek eksikti. TestVeri test_1 = TestVeri(); bunu da ekleyince tam oldu. Teşekkür ederim.