- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自 here :
bool shouldReclip(covariant CustomClipper<T> oldClipper);
AFAIK,关键字covariant
用于重写一个方法,明确告诉分析器您将为其提供一个有效类型。但是在 CustomClipper
类中,没有这样的覆盖,那么为什么要使用 covariant
呢?
最佳答案
您可以将参数标记为 covariant
在父类(super class)中,然后子类自动获得标记为 covariant
的参数也是。
如果要扩展该类,这可以是为子类作者提供的服务(和文档),以便他们知道该参数应该协变地使用。
如果你看this subclass ,你可以看到他们声明:
@override
bool shouldReclip(_DecorationClipper oldClipper) {...}
协变地覆盖参数类型 CustomClipper<Path>
与 _DeclarationClipper
(实现 CustomClipper<Path>
),他们不必写 covariant
在这里是因为父类(super class)为他们声明了它。
关于dart - 为什么没有覆盖方法时使用 'covariant'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65958413/
来自 here : bool shouldReclip(covariant CustomClipper oldClipper); AFAIK,关键字covariant 用于重写一个方法,明确告诉分析器
假设我有这两个类 class BaseClass { protected HashSet container; } class DerivedClass : BaseClass { D
问题 我想实现一些算法,这些算法在图上运行并返回节点对的分数,指示这些节点是否相似。这些算法应该适用于单个节点对和所有可能的节点对。在后一种情况下,应返回一个集合/矩阵。 我的方法 算法源自 clas
我刚刚遇到一个关于泛型和协变的有趣问题,长话短说,我花了 30 分钟尝试声明一个类型,直到我放弃。 为了清楚起见:我已经有了解决方法,目前不需要我的项目帮助。我之所以问这个问题是因为我是异常复杂的泛型
我有这样一个类: public class MyClass{ private MyTape data; private List someOtherdata; } 我正在尝试在 And
今天,我深入探讨了Liskov的替代原理和协方差/协方差。 而且我陷入了两者之间的差异: T = TypeVar("T", bound=Union[A, B]) T = TypeVar("T", A,
我正在尝试使用Ceres编写BA优化器,并希望为优化结果计算协方差。但是该程序停留在covariance.Compute(covariance_blocks, &problem)上,似乎永远不会停止计
我正在编写一个名为 Factory 的通用工厂类 //abstract factory template class Factory{ public: virtual C*
当我们有两个结构,并且一个可以隐式转换为另一个时,它看起来像 System.Nullable<>两者的版本也可以隐式转换。就像,如果结构 A隐式转换为 struct B , 然后 A?转换为 B? 这
我正在阅读 Jon Skeet 的《深入了解 C#》。虽然我已经理解了 CoVariance 和 ContraVariance 的概念,但是我无法理解这一行: Well, covariance is
我正在读《深入Scala》第一节,第一节中有两句话是关于“协方差”和“逆变”的: Covariance (+T or ? extends T) is when a type can be coerce
我正在尝试创建一个二叉树类 Tree和二叉搜索树类 BST它继承自 Tree ,以及 iterator每个嵌套类,其中 BST::iterator继承自 Tree::iterator . 现在,问题是
我通过继承创建了两个简单的类,并在子类中添加了一个虚函数和覆盖。 class Parent { public: virtual Parent foo(); }; class Child : p
我有一个非常复杂的类层次结构,其中的类是相互依赖的交叉类:有两个抽象类 A 和 C,它们分别包含一个返回 C 和 A 实例的方法。在他们继承的类中,我想使用协变类型,在这种情况下这是一个问题,因为我不
我试图写一个不可变的 Matrix[A]类(class)。我希望该类在 A 上是协变的但是当我把 +前面A编译器开始提示类中的某些操作。 以下是我的 Matrix 的相关子集类(实际类比以下子集大 5
我读了一些关于用于 CV 对象跟踪的卡尔曼滤波器的著作,但我找不到关于选择的一些引用:1)过程噪声协方差 Q; 2)测量噪声协方差R。到目前为止,我已经意识到该模型是运动方程(有人使用加速度作为状态变
我有以下表示数值数组的类 class Array { protected : double *data; // this will hold the data of the array
我有以下情况: 我指定一个纯虚函数: 虚拟 PredictedMatch PredictMatch(const Match &match) const = 0; 我还有: 类 ImpactPredic
我试图从网上的几篇文章和 StackOverflow 上的问题中找出 Covariance 和 Contravariance 这两个词的确切含义,据我所知,这只是多态性的另一种说法。 我上面的说法正确
新 Guava 10 Optional 状态是自然协变的,因此可以强制转换。 如果我尝试,它看起来有点难看: Optional opti = Optional.of(42); Optional op
我是一名优秀的程序员,十分优秀!