覆盖上层类的变量

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

我有一个上层有一个var title,然后我有不同的类,扩展这个上层,我想要覆盖那个var title

我尝试使用@override void set方法,但我不明白如何正确使用它。有谁可以帮助我吗?

inheritance dart override flutter
1个回答
1
投票

您可以将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;
  }
}

Foo f = Override();
f.title = "Hello World";
print(f.title);

这将打印

Set title
get title
Hello World
© www.soinside.com 2019 - 2024. All rights reserved.