問題タブ [covariant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 共変の戻り値
Java では、非共変の戻り値の型がコンパイル時エラーを生成するときに、共変の戻り値の型が受け入れられるのはなぜですか。確かに、JVM が共変の戻り値の型を処理できる場合は、非共変の戻り値の型を処理できます。Java が共変の戻り値を持つオーバーライドされたメソッドを見ると、呼び出し元のオブジェクトに関連付けられているメソッドを適用するだけだと思います。非共変の戻り値の型で同じことが起こらないのはなぜですか。私の推測では、それはスーパークラスのメソッド コントラクトの条件を破ることに関係していると考えられます。もちろん、これが許可された場合、サブクラスの (オーバーライドされた) メソッドの動作はあまり予測できません (戻り値の型に一貫性がないため)。 ?
以下に例を示します (DogFood は Food のサブクラスですが、CatFood は Food のサブクラスではないと仮定します)。
動物クラス
ドッグクラス
猫クラス
scala - :: を scala で解釈する方法
次のコードを書きます。
メソッドの実装は次の::
ようになります。
戻り値の型は であると予想していましたList[Bird]
。なぜList[Animal]
ですか?
r - 調整された従属変数を取得する方法
次のデータセットがあるとします。
CSF がグループ間で異なるかどうかを知りたいです。しかし、CSF は年齢、性別、および tiv の影響を大きく受けることがわかっています。そこで、年齢、性別、tiv の影響を超えて、グループ間の違いをプロットしたいと思います。そのためには、これら 3 つの共変量の CSF を調整する必要があります。私の質問は、各個人の調整された CSF 値をどのように取得できますか?
次の線形モデルを作成しました。
そして、年齢、性別、および tiv の影響を受けない csf 値を得るために、(残差 + 切片) の合計を使用しました。
ただし、CSF が負になることはあり得ないため、意味をなさない負の値が多数得られます。私の質問は、3 つの共変量すべてについて調整された適切な CSF 値を取得するにはどうすればよいかということです。
scala - 理解と共分散のためのエラーの説明
質問
エラーの原因を理解するための支援が必要です。オリジナルはCoursera Scala Design Functional Random Generatorsからのものです。
仕事
random int および random boolean のファクトリを使用して、ランダム ツリー ファクトリを実装しようとしています。
問題
1 番目のブロックで実装するとエラーが発生しますが、2 番目のブロックに変更するとエラーは発生しません。Factory[+T]
私はそれを意味するFactory[Inner]
と信じておりFactory[Leaf]
、両方ともとして扱われる可能性がありますFactory[Tree]
。
for ブロックの同じ if 式がOKであるのに、yieldブロックではOKではない理由がわかりません。説明に感謝します。
ただし、以下は機能します。
objective-c - Objective-C ジェネリックの共変
ヒヤス
私はこのインターフェースを持っています:
今、この実装方法を使用すると:
iterateWithWorkerBlock:withCompletionBlock の実装でパラメーターの型が競合しているというコンパイラの警告が当然表示されます。
問題は、この実装メソッドをどのように記述することになっているのですか? さまざまな実装を試してみましたが、型を typedef に移動することは失敗しました。これは、型がインターフェイス スコープの外では見えないためです。T を実装の型として使用すると失敗します。明らかに、実装は独自のインターフェイス型について nada を知っているためです。何かのようなもの
惨めに失敗し、このメソッドを正しく実装する方法が本当にわかりません。今のところ、この警告を表示する id を使用するだけですが、警告を取り除きたいです...
ビューラー?誰?ありがとう
java - ジャバ。メソッドの戻り値の型のオーバーライドと絞り込み
わかりましたので、私はJavaが初めてなので、これはばかげた質問かもしれません。私のスーパークラスには、ジェネリック オブジェクトを受け取り、オブジェクトを返すメソッドがあります。私のサブクラスでは、メソッドをオーバーライド/絞り込んで、別の場所で定義した抽象クラスを返そうとしています。基本的に、このオーバーライドで行う必要があるのは、同じメソッドを実行することだけですが、Object をより狭いクラスに置き換えます。どうすればこれを行うことができますか?1行か2行のコードでよいのですが、構文がわかりません。
したがって、SuperClass Foo には次のようなメソッドがあります。
次に、差分 Java ファイル内のオブジェクトのコンストラクター:
次に、サブクラスで: