我在文件 myclass.dart 中有两个类:
abstract class A{
_myAbstractMethod();
}
class B extends A{
}
此时编译显示: MISSING CONCRETE IMPLEMENTATION OF一._方法。
这才是正确的行为!
当我将每个类放在单独的文件中时,问题就出现了。当我将 B 类声明移动到另一个文件时,编译不再告诉缺少的实现。
请注意,类 A 上的方法是私有的,并且“问题”仅发生在单独文件中的每个类中。
这是预期的行为,因为类上的方法A
图书馆是私人的。
这意味着当放入第二个库时,该类B
不know that A
有一个名为_myAbstractMethod
,如果是的话,它甚至不能写名字(写_myAbstractMethod
在图书馆B
代表不同的名称,为第二个库私有)。
所以,从B
它正确实现的观点A
的(空)界面。
一切都很好。
The A
阶级不同意,但也无能为力。
为了使B
类完成后,编译器添加了一个合成_myAbstractMethod
(using A
的名字)调用时抛出的实现。
这是预期的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)