作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样的课:
class A {
int _foo () {
return 5;
}
}
class B extends A {
@override
int _foo() {
return super._foo() + 1;
}
}
B
时按预期工作。与
A
在同一个库中.
_foo()
或调用
super._foo()
.
A
是第 3 方库,我想覆盖私有(private)方法。
最佳答案
从根本上说,您不能覆盖库的私有(private)方法。
您可以使用一些替代技巧。
1) 复制当前代码中的包文件夹并根据需要进行更改。
2) 在库类中创建一个公共(public)方法并在其中传递该私有(private)方法。您可以像定义的公共(public)方法一样访问该私有(private)方法。
3) 示例代码:
class A {
String toString() => _p();
String _p() => 'A';
}
class B extends A {
String _p() => 'B';
}
void main() {
print(new A());
print(new B());
}
关于dart - 如何在 Dart 中覆盖来自不同库的私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61127258/
我是一名优秀的程序员,十分优秀!