Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance 重写上层阶级的变量_Inheritance_Dart_Overriding_Flutter - Fatal编程技术网

Inheritance 重写上层阶级的变量

Inheritance 重写上层阶级的变量,inheritance,dart,overriding,flutter,Inheritance,Dart,Overriding,Flutter,我有一个上层类,它有一个var title,然后我有不同的类,它们扩展了这个上层类,我想在其中覆盖var title 我正在尝试使用@override void set方法,但我不知道如何正确使用它。有人能帮我吗?您可以将getter和setter与super结合使用,以达到预期的效果: class Foo { String title; } class Override extends Foo { String get title { print("get title");

我有一个上层类,它有一个
var title
,然后我有不同的类,它们扩展了这个上层类,我想在其中覆盖
var title


我正在尝试使用
@override void set
方法,但我不知道如何正确使用它。有人能帮我吗?

您可以将getter和setter与
super
结合使用,以达到预期的效果:

class Foo {
  String title;
}

class Override extends Foo {
  String get title {
    print("get title");
    return super.title;
  }

  set title(value) {
    print("Set title");
    super.title = value;
  }
}

这会打印出来

Set title
get title
Hello World

实际上,我希望这必须自动完成,而不必实例化类,然后设置标题。因此,当我实例化sublcass对象时,它必须已经有了新的标题,这只是一个构造函数。没有任何东西可以阻止您向设置默认标题的
Override
添加构造函数。据了解,我对我必须做的事情感到有点困惑。谢谢
Set title
get title
Hello World