一个类的接口实现了一个方法,然后又被强制覆盖,那么有什么意义呢?

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

文档给出了一个带有接口的类作为示例,该类具有已实现的方法而不是抽象的方法。

想要实现接口的类被强制实现该函数,这总是会覆盖原来的函数。

那么,标有接口的类已经实现了某个功能,在什么场景下有用呢?

interface class Vehicle {
  void moveForward(int meters) {
    // ...
  }
}
class MockVehicle implements Vehicle {
  @override
  void moveForward(int meters) {
    // ...
  }
}
dart
1个回答
0
投票

继承不需要您实现或重写方法,如果您提供了默认行为,您可以根据需要选择重写方法。

interface class Vehicle {
  void moveForward(int meters) {
    // default behavior
  }
}

class Car implements Vehicle {
  // Inherits the default moveForward method from Vehicle
}

class Truck implements Vehicle {
  @override
  void moveForward(int meters) {
    // custom behavior
  }
}

在这种情况下,Car 不需要实现 moveForward,因为默认实现就足够了。

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