inheritance - 覆盖上层类(Class)的变量

标签 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");
    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

关于inheritance - 覆盖上层类(Class)的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151651/

相关文章:

java - 继承和访问指定

sqlite - Flutter中的Sqflite,使用两个数据库(附件)

web-services - 如何为Dart Web服务运行localhost服务器(查找本地Web服务时出错)

flutter - 如何将自拍动画添加到CustomPainter?

c# - 用反射覆盖私有(private)方法

java - Java 中的 Haskell 类型类层次结构

java - 从父类(super class)调用子类方法

c++ - 如何在派生类构造函数中初始化基类成员变量?

html - 不能用 ! 覆盖内联样式重要属性(property)?

java - 如何重写java列表方法?