を経由してコンパイルしていない私は、次の構造を有する: FooBar.java:2: types Bar and Foo are incompatible; both define fooBar(), but with unrelated return types
public interface FooBar extends Foo, Bar {
^
1 error
しかし、Ec
に私は次のコードを書く:私は戻り値の型がList[Bird]ことが期待 def ::[B >: A] (x: B): List[B] =
new scala.collection.immutable.::(x, this)
:::メソッドの実装は次のようになります class Animal
class Bird extends Animal
val animalList = Li
問題に関連する解決策を見つけるためにいくつかの問題があります。 私はクラスからいくつかのデータを返さなければなりません。データの種類はクラスに依存します。 私の最初のソリューションは、このでした: class Base
{
virtual QVector<Data*> getData() const = 0;
};
class Derived : public Base
{
たとえば、私はObjectを返し、Objectをパラメータとして取るメソッドを持つProcessor基本クラスを持っています。私はそれを拡張し、Stringを返し、Stringをパラメータとして取るStringProcessorを作成したいと思います。ただし、 共変タイプは、戻り値でのみ許可されますが、パラメーターでは許可されません。そのような制限の理由は何ですか? class Processor
私は、Contravarianceを使用するときに、以下に何か作用して苦労しています。私の理解は、共分散は基本型から派生型を返すことができるところです。 Contravarianceは、基本型の派生型を引数としてクラスに渡すことができる場所です。 だから私は、以下のインターフェース(反変)持っている:ジェネリック型を考慮し public interface IBase<in T> where T: