为什么需要扩展对象?

时间:2019-07-08 12:52:04

标签: oop flutter dart

我看到了一个简单的类,看起来像:

class SomeClass extends Object{

  int a;
  int b;
  ...
  ...
}

为什么将此类扩展为Object类?正如文档中所写的那样:“因为对象是Dart类层次结构的根,所以其他所有Dart类都是Object的子类。”在https://api.dartlang.org/stable/2.4.0/dart-core/Object-class.html中。
如果我们不扩展对象会发生什么?也许在某些特定问题上会有用吗?

1 个答案:

答案 0 :(得分:3)

所有dart类都隐式扩展Object,即使未指定。

可以使用以下代码进行验证:

class Foo {}

void main() {
  var foo = Foo();
  print(foo is Object); // true
}

即使null实现Object,也可以这样做:

null.toString()
null.hashCode
null == something