問題タブ [subclassing]

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 投票する
5 に答える
301 参照

c# - 必要なサブクラスを決定する最良の方法

現在のプロジェクトの大規模なチェックアウト アプリケーションに取り組んでいます。このチェックアウトには、ユーザーの管理者レベル、チェックアウトに到達した方法、およびチェックアウトするアイテムの種類に応じて多くのケースがあるため、プロセスは一連のコンテキスト クラスを介して .aspx ページから抽象化されます。

これらのクラスはすべて、1 つのクラス CheckoutContext のサブクラスであり、使用されるクラスのタイプは列挙型によって示されます。

使用するサブクラスを選択するために使用できる typedef に似たものはありますか、または次のように、関連するクラスを返すメソッドを単に持つ必要があります。

p>

0 投票する
3 に答える
756 参照

c# - ユーティリティクラスとサブクラス化.netコントロール

作成したコードを再利用して、datagridviewに機能を追加したいと思います。デフォルトのdatagridviewプロパティとイベントを公開したいので、新しいカスタムコンポーネントを作成したくありませんでした。だから私はサブクラスを書いてみましたが、それはうまくいきます。しかし、コンストラクターでdatagridviewを取得し、同じ方法でセットアップするスタンドアロンのユーティリティクラスを作成できることにも気づきました。例えば

だから私のアプリのスタートアップのどこかで私は電話します

などなど。このアプローチの不利な点はありますか?コードの多くは同じになるようですが、違いは、拡張グリッドをインスタンス化する方法(サブクラス化されたコントロールをフォームにドラッグアンドドロップする方法と、プレーンなデータグリッドビューをドラッグアンドドロップして上記のコードを呼び出す方法)の違いです。

0 投票する
10 に答える
2927 参照

oop - おっと。オブジェクトの選択

私は OOP の用語で考えるのは比較的初心者であり、それを行う正しい方法についての私の「本能」をまだ見つけていません。演習として、机の上の飲み物を例に、さまざまな種類のオブジェクト間の境界線を作成する場所を見つけようとしています。

Drinkと のような属性volumeと とtemperatureのようなメソッドを持つオブジェクト を作成すると仮定するとpour()drink()特定の飲み物の「タイプ」がどこに来るかを確認するのに苦労しています。

TeaCoffeeまたはの飲み物の種類があるとします。私の最初の本能は、属性とメソッドが共通しているJuiceため、サブクラス化することです。Drink

問題は両方になり、 と のTeaようCoffeeな属性がsugarsありますmilkが、Juiceそうではありませんが、3 つすべてにvariant(それぞれアールグレイ、デカフェ、オレンジ) があります。

同様にTea、メソッドがありますが、それはオブジェクトには意味がありませCoffeeん。addSugar()Juice

それは、すべてのサブクラスがそれらを必要としない場合でも、スーパークラスがこれらの属性とメソッドを持つ必要があることを意味しますか、それともサブクラスで、特にvariant各サブクラスが持っているような属性について、それらを定義しますかそれは有効な値の独自のリストですか?

しかし、最終的にはとサブクラスの2 つのaddSugar()メソッドになります。TeaCoffee

または、すべての属性とメソッドをスーパークラスに配置することになり、ほとんどが少なくともいくつかの飲み物の種類間で共有されるため、サブクラス化のポイントは一体何だったのだろうか?

抽象化しすぎているのではないかと心配していますが、新しいタイプを追加したい場合に、追い詰められたくはありませWatervariant

0 投票する
3 に答える
1035 参照

asp.net - ASP.Net Treeview:奇妙なポストバック動作

カスタムツリーノード(TreeNodeからサブクラス化されたExtensionRangeTreeNode)が入力されたASP.NETツリービューがあります。ポストバックでは、ツリービューにカスタムtreenodeクラスではなくTreeNodeが入力されます。

これはどうしたの?

ありがとう、BP

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

java - インスタンスオブと型キャストのテクニック

解決すべき実際の問題ではなく、技術と実装について質問があります。最近、サブクラスの共通の動作を定義する抽象クラスを作成しました。これを A と呼びましょう。

これを使用して、いくつかのサブクラス B、C、および D を構築し、それらをタイプ A を受け取るスーパークラス - サブクラス構造の外部にある他のメソッドに渡します (したがって、B、C、および D のすべてを処理できます)。

Java では、instanceof を使用して真の型を取得しますが、実際の型に多くのキャストを行う必要があり、混乱しているように見えます。コードをよりきれいにする方法について何か提案はありますか?

私が試した方法の 1 つは、スーパークラスのパラメーターからサブクラス型のインスタンスを再構築することでした。これにより、実際の型でオブジェクトを処理し、型キャストを回避できました。これらのサブクラスはそれぞれシングルトンなので (そうです、状態を維持します)、そうしても問題ないと思います。これは面倒なことのように思えますか?

答えてくれた人に感謝します。

編集:イタリック体でさらに明確化を追加しました。ありがとう。

0 投票する
1 に答える
3224 参照

iphone - UIImageView サブクラスが表示されない

UIImageView のカスタム サブクラスを使用していますが、表示されない理由がわかりません。

そして、サブクラスを表示するビューのビュー コントローラーから:

サブクラス化する前は、View Controller で次のことを問題なく実行できました。

ブレークポイントを使用して、クラスに渡されるフレームと画像を確認しましたが、どちらも有効で望ましいように見えます。

私が間違っていることについてのアドバイスをいただければ幸いです。

0 投票する
1 に答える
81 参照

wpf - 取るべきアプローチに関する提案が必要

2つの異なるプロジェクトを使用したソリューションがあります。1つは.Net2.0フレームワークを使用して実行する必要があるという要件です。もう1つは.Net3.5を使用しており、MVVMに従いますが、これはMVVMについては良いパターンよりも少ないと思います。

.Net 2.0にはいくつかの異なるオブジェクト(たとえばFruitタイプ)があり、クラスプロパティ値を編集するために異なるWPFユーザーインターフェイスが必要になる可能性があります。今のところ、私は最初のものに取り組んでいます。.net 3.5プロジェクトは、ユーザーが実際に実行および編集するものです。

私が最初に考えたのは、Fruitサブクラスを作成するときです(Appleのコンストラクターには、編集ダイアログを作成するための呼び出しを返すFuncパラメーターがあります。編集ダイアログがまだ実装されていない他のFruitには、Funcパラメーターがあります。これは「編集はサポートされていません」エディタダイアログを返しますが、Funcsは2.0ではサポートされていません。

私の次の考えは、.net3.5プロジェクトがリフレクションを使用してインスタンスを作成できる.Net3.5クラスを参照する.net2.0クラスに属性を追加することです。しかし、これは厄介なようです。

.net 3.5プロジェクトでCreateFruitEditorクラスを作成して、Fruitタイプをチェックし、適切なエディターウィンドウを作成することもできますが、ステートメントチェックタイプの場合、最終的には大きな複数行になります(フルーツがまったく異なることを前提としています)。編集中。)

したがって、.net 2.0プロジェクトクラスは、.net3.5プロジェクトに.net2.0クラスの編集に使用する.net3.5クラスを何らかの方法で通知する必要があります。

0 投票する
1 に答える
804 参照

django - Django で正しく行う - ハッキングの代わりにサブクラス化する

私は threadedcomments モジュールを使用しており、2 つの変更が必要です: - ThreadedComment モデルの追加フィールド - フォームの異なるフィールド

答えはサブクラス化することですが、これを行う方法がわかりません-コードはどこに行きますか?