問題タブ [generalization]

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.

0 投票する
4 に答える
1572 参照

java - Java Generics は複数の同様のクラスを置き換えることができますか?

問題

Javaジェネリックを使用して、クラスを同様のメソッドに置き換えようとしています。私が見つけたすべての例は単純な例をカバーしていますが、Java Generics がこのように使用されることを意図しているかどうかはわかりません。

2 つの親クラスと、ほぼ同じメソッドを持つ 2 つの子クラスがあります。両方の親クラスも異なるクラスから派生します。最終的には、コードの 1 つのブロックを使用して親クラスの 1 つを作成および操作し、次にその子クラスを多くの switch ステートメントや重複コードを使用したフロー制御なしで作成および操作できるようにしたいと考えています。

これは、構文であろうとジェネリックの機能ではないことであろうと、まだこの方法で動作させることができていませんが、私が念頭に置いていたことです。

親クラス

子クラス

ジェネリック クラス

どのように使いたいか

使用法と望ましい出力

最終質問

「子」と「親」は、実際には継承されていないことを知っているため、誤称かもしれませんが、結論として、1 つのクラスは特定のメソッドで「子」を返します。したがって、これは実際にはこの方法では解決できない可能性がある問題の多くのコードですが、うまくいけば、これに答えていただけます。

  1. これは Java Generics で達成できることですか?
  2. そうでない場合、Java でこの問題の解決策はありますか?

ありがとう!

編集

私の「Foo」と「Bar」クラスは編集できません。私の最終的な質問は、共通の親クラスを使用せずに、いずれかのクラスの 1 つのインスタンスを単一の変数に格納できますか?

0 投票する
5 に答える
100 参照

java - これらの反復的なコード ブロックを一般化するにはどうすればよいでしょうか。

このようなほぼ同一のブロックを含むコードは、私をうんざりさせます。さらに、1,000 行のコードがあれば、その半分で十分です。確かに、ループを作成してすべてを実現し、それほど洗練されておらず頭の悪いコードを持たないようにする方法はあります。

オフハンドでは、私が削減しようとしているのと同じくらい多くのコードを追加するように思われます: 5 つのボタンを作成するためのループ、ボタンのラベルの配列、背景の配列... 多分もっと。それが受け入れられることがわかったとしても、リスナーを処理するためにループを作成するにはどうすればよいでしょうか? メソッドの配列を持つことはできませんね。そのようなループには . を含める必要があると思いますswitch。はい?より良い解決策を探したくない場合は、おそらくそうするでしょう。だから私は尋ねています...

ボタンのグループ全体をリッスンし、押されたボタンに基づいてアクションを実行するコードはどのようなものになるでしょうか? 単一のリスナーをどのコンポーネントに割り当てますか? そしてどうやって?

(その質問への答えは、コードの繰り返しの性質よりもさらにうんざりさせる可能性があります.その方法をすでに知っていて、そもそも尋ねる必要さえなかったことに気付いた場合、しかし私は.とにかく聞いてください.私は、脳がちょうど出たいと思っている今日のポイントの1つにいます.)

コードを書くように誰かに頼んでいるわけではありません。私はそれを望んでいません(しかし、私はそれを無視することはできませんでした!).

上記のコードが行うことは次のとおりです。 ここに画像の説明を入力

0 投票する
2 に答える
68 参照

sql - EER - 専門化の制限

「人」は「クライアント」または「サプライヤー」になることができるとしましょう。EER を使用すると、次のようになります。

ここに画像の説明を入力

このソリューションの問題点は、人がクライアントとサプライヤーの両方になることができるということです。「人」を1つの専門分野だけに制限する方法はありますか?

0 投票する
0 に答える
85 参照

ruby-on-rails - 管理パネルの一般的な一括更新?

私は自分のウェブサイトに独自の管理パネルを使用しており、http://railscasts.com/episodes/52-update-through-checkboxesを使用していくつかの一括操作を導入したいと考えています。まず第一に、これはまだ一括アクションを実行するためのベスト プラクティスですか?

次に、管理パネルのすべてのコントローラーが使用できるように、このコードを一般化するにはどうすればよいですか?

あなたのアイデアをお待ちしております!

0 投票する
2 に答える
375 参照

java - Javaの2つのクラスが一般化関係にある場合、子は親クラスのすべてではなく一部のメソッドのみを継承できますか?

例:クラスまたはクラスcustomerである 2 つの子クラスを持つクラスがあります。インスタンス変数として持っています。インスタンス変数としても持っていますか? 顧客層はどうですか?guestsigned-up usersCustomer classusernameguest classusernamemethods