请解释 C# 中默认接口方法的含义及其作用。
考察说明
考查对 C# 8 引入的默认接口方法这一语言特性的理解。
回答思路
- 【回答框架 1】默认接口方法指在接口中为成员提供默认实现,允许接口方法具有方法体。
- 【回答框架 2】该特性主要用于在不破坏现有实现的情况下向接口添加新方法,实现接口的类可以不覆盖该方法。
- 【回答框架 3】它提供了接口与抽象类之间更灵活的设计选择,支持多重行为组合。
- 【回答框架 4】使用时应明确默认实现的适用场景,并注意与抽象类的区别。
- 【回答框架 5】默认接口方法按实例方法处理,调用时遵循实现类的覆盖优先级。
- 【关键点 1】默认接口方法允许在接口中定义具体实现,使接口更接近于抽象类。
- 【关键点 2】主要用途是增量式地向接口添加功能,同时避免破坏现有实现。
- 【关键点 3】实现类可选择覆盖默认方法,否则使用接口提供的实现。
- 【关键点 4】该特性在 C# 8 及更高版本中可用,需注意目标框架兼容性。
- 【易错点 1】默认接口方法不能解决所有二进制兼容问题,修改已有接口成员仍可能破坏实现。
- 【易错点 2】默认实现中可能不适当地访问状态,因为接口不能包含实例字段。
- 【易错点 3】混淆默认接口方法与抽象类,可能导致设计上错误地使用接口。