flutter抽象类无法实例化的错误

问题描述 投票:0回答:1

目前我正在学习 Flutter 和 Dart,在编写代码时,我收到此错误消息:“抽象类无法实例化。: 35”。

我不知道该怎么办,我按照教程视频进行操作,似乎一切都与源材料中的相同,但我仍然收到错误。

     @override
  Widget build(BuildContext context){
    return Center(
      child: Column(
        children: [
          IconButton(onPressed: () {
            if (suschestvuet == true) {
              suschestvuet = false;
            }
            else{
              suschestvuet = true;
            }
            setState(() {});
          }, icon: Icon(Icons.cabin)),

底部35针

if (suschestvuet) const rebenok1() else Container(),

        ],
      ),
    );
  }
}

abstract class rebenok1 extends StatefulWidget{
  const rebenok1 ({Key? key}) : super (key: key);

  @override
  State<rebenok1> createState() => _rebenok1State();
}

class _rebenok1State extends State<rebenok1>{
flutter dart mobile abstract-class
1个回答
0
投票

没错!在 Flutter 中,与许多面向对象的编程语言一样,抽象类无法直接实例化。抽象类充当其他类继承的蓝图,但不能用于创建自己的对象。它们可以包含抽象方法(没有定义实现的方法),这些方法必须由扩展它们的任何类实现。要在 Flutter 中使用抽象类,您需要创建一个具体类来扩展抽象类并为其抽象方法提供实现。

查看您的代码中的这一行:

abstract class rebenok1 extends StatefulWidget{

你需要学习编程语言的基础知识。

这里是创建抽象类的示例。

// Abstract class
abstract class Shape {
  // Abstract method
  void draw();
  
  // Regular method
  void display() {
    print('Displaying shape...');
  }
}

// Concrete class extending the abstract class
class Circle extends Shape {
  @override
  void draw() {
    print('Drawing Circle');
  }
}

void main() {
  // This won't work - Can't instantiate an abstract class
  // Shape shape = Shape();

  // Create an instance of the concrete class
  Circle circle = Circle();
  circle.draw(); // Output: Drawing Circle
  circle.display(); // Output: Displaying shape...
}

© www.soinside.com 2019 - 2024. All rights reserved.