問題タブ [subclass]

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

hibernate - Hibernate サブクラスの 1 対 1 マッピング

私はうまくいくと信じている複雑なマッピングを持っています。しかし、コンパイル後にクラスの Ad 列が存在しないように見えるのはなぜでしょうか?

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

.net - すべてのコントロールに同じ種類の境界線を作成する

独自の Border クラスを作成してコントロールに挿入しようとしましたが、境界内のすべてに名前を割り当てることができないようです:

どうすればこれを回避できますか? そのために何らかの形でテンプレートを使用できますか?

編集: わかりにくかったことを申し訳ありません。はい、Border を独自の XAML ファイルでサブクラス化し、上記のコードでこのコンパイラ エラーが発生しました。

エラー 2 要素 'StackPanel' に Name 属性値 'ifBlock' を設定できません。「StackPanel」は、別のスコープで定義されたときにすでに名前が登録されている要素「ElementBorder」のスコープの下にあります。

私の ElementBorder クラスの内容はあまり興味深いものではありませんが、とにかく投稿します。

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

nhibernate - Joined-Subclass 問題の Hibernate サブクラス

継承する必要がある基本クラスを含むコア アセンブリを持つアプリケーションがあります。これらをデータベースに保存する必要があり、NHibernate について読んだ後、それを使用することにしました。

ただし、新しく継承したクラスの 1 つに問題があります。サブクラス マップをセットアップしましたが、保存すると、基本クラスのプロパティも、マッピングで割り当てた新しいプロパティも保存されません。

私のクラスは次のようにレイアウトされています: (小さなデモアプリから)

コア アセンブリ DataItem -> ユーザー

データベースに触れるものはすべて、ID、変更日などを処理するため、DataItem クラスを継承します。

私のテストでは、FirstName のみを持つようにユーザーをセットアップしました。

新しいユーザーを保存するとうまくいきます..ただし、ユーザーから継承してから、LastName という別のプロパティを追加し、この新しいオブジェクトを保存しようとすると.. INSERT INTO t_User (id) VALUES(? .. 名または姓を保存しようとしません.. 両方が設定され、マップされています。

私の nhibernate.config:

ご覧のとおり、2 つのアセンブリがあります。私の DAL は私のコアであり、NHibernateDemo は継承のためにコアを使用する Web アプリケーションです。

私のコア DataItem マッピング:

機能しない継承された NewUser マッピング!:

クラス NewUser を保存しようとすると、基本プロパティまたは新しく宣言されたプロパティから、他のプロパティ セットを保存しようとしないのはなぜですか?

これに対する助けや洞察を本当に感謝します..本当に単純なものが欠けているに違いなく、それを見ることができません。

ありがとう、

マイク

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

java - サブクラスのメソッドをスーパークラスの JLabel にどのように配置しますか?

これがクラスとスーパークラスです。質問は次のとおりです。

テストドロー:

マイシェイプ:

クラス TestDraw で、MyShape からの toString をウィンドウのテキスト ボックスに入れようとしましたが、「JLabel southLabel = new JLabel(toString());」を実行すると、それは私の toString() が静的である必要があることを伝えました。toString を静的にする場合を除いて、それはすべて問題なくダンディです。その文字列の取得を静的にしたいのですが、これは悪いことです...何かアイデアはありますか?

toString() をスーパークラスに入れてみましたが、同じ問題が発生し、先生に尋ねてみましたが、彼は「本を見てください」と言います...章を2時間読んで、まだ見つけていません3回目を読んだ後の例。

前もって感謝します!

PS: 回答はいいですが、説明が優先されます!

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

django - contrib.auth にコードを追加する最もクリーンな方法は何ですか?

古い joomla インストールを django に移行しました。ただし、パスワードハッシュは問題です。contrib.auth.models の get_hexdigest を変更して、ハッシュの生成方法を逆にする追加の if ステートメントを追加する必要がありました。

古い joomla スタイルの場合、ログイン後にパスワードを更新するために、User モデルに以下を追加しました。

すべてが完全に機能していますが、このコードを django ツリーで直接編集したくありません。自分のプロジェクトでこれを行うためのよりクリーンな方法はありますか?

ありがとう

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

delphi - Delphi:コントロールをサブクラス化して復元する適切な時間ですか?

コントロールのサブクラス化を開始する正しい場所/時間は何ですか?

元のウィンドウプロシージャを復元する適切なタイミングは何ですか?

現在、フォームの作成中にサブクラス化しています:

そして私はフォームの破壊中にサブクラスを復元​​します:

これは、コントロール自体をサブクラス化するThemeManagerを使用しない限り、正常に機能します。ThemeManagerもサブクラス化するコントロールをサブクラス化しようとするとすぐに、非常に厄介なエラーが発生します。

作成中にサブクラスを開始して、破棄中に復元するべきではないためだと思います。では、Delphiでコントロールをサブクラス化およびサブクラス化解除するための適切に文書化された時間はどれくらいですか?

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

python - サブクラスでの__slots__の継承は実際にどのように機能しますか?

スロットのPythonデータモデルリファレンスセクションには、の使用に関する注意事項のリストがあります__slots__。1番目と6番目の項目は矛盾しているように見えるので、私は完全に混乱しています。

最初のアイテム:

  • のないクラスから継承する場合 、そのクラス__slots____dict__属性は常にアクセス可能であるため__slots__ 、サブクラスでの定義は無意味です。

6番目のアイテム:

  • 宣言のアクションは、__slots__ それが定義されているクラスに限定されます。その結果、サブクラス__dict__ も定義しない限り、サブクラスにはが含まれます__slots__ (追加のスロットの名前のみが含まれている必要があります)。

これらのアイテムは、コードでより適切に表現または表示できるように思われますが、私はこれに頭を悩ませようとしていて、まだ混乱しています。私はそれらがどのように使用されることになっているのかを理解し__slots__ておりそれらがどのように機能するかをよりよく理解しようとしています。

質問:

サブクラス化する際のスロットの継承の条件をわかりやすく説明してもらえますか?

(簡単なコード例は役に立ちますが、必須ではありません。)

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

c++ - ダイアログの破棄中にサブクラス外のコードを追加する必要がありますか?

Windowsダイアログをサブクラス化し、ダイアログを閉じるとどうなりますか?

シナリオは、ダイアログをサブクラス化していて、アプリケーションがそのダイアログの多くのインスタンスを起動できることです。

破棄ロジックのすべてのダイアログにサブクラス化解除コードを追加する必要がありますか?

ダイアログが閉じられたとき、ダイアログはすでに破棄されているため、サブクラスを解除する必要はないと思います。

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

java - 最終クラスのサブクラス化。または、DegenerateDecorator

同じ種類のオブジェクトのさまざまな表現があります。それをモノと呼びましょう。「Thing」はマーカーインターフェイスです。ThingFormat0、ThingFormat1、ThingFormat2などはすべてThingを実装するJavaBeansです。(JavaBeansであるため、JSONマーシャラーは自動的にJSONとの間で変換します。)ThingFormat1には、nameやidなどのメンバーがいくつかあります。ThingFormat2には、他のものへのURIリンクがあります。ThingFormat3には、他のものなどのThingFormat1表現があります。

JSONシリアライザーは、URIを自動的に変換する方法を知っています。(toString()とコンストラクターClassName(String string)を使用して変換できるすべてのクラスで機能します。)

URIのように動作するが、マーカーインターフェイスThingを実装するThingFormat0が必要です。

URIは最終クラスであり、サブクラス化できないため、これは機能しません。

これを行うために私が考えることができる唯一の方法は、デコレータ(URIに機能を追加しないため、非常に縮退した種類のデコレータ)を作成することです。これは、一部の「ダックタイピング」言語では簡単ですが、Javaでは、URIをラップして、必要なURIのすべてのメソッドを実装する必要があるため、より面倒です。もっと簡単な方法はありますか?

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

asp.net - ASP.NET サーバー コントロールの SUBCLASSES を常に使用しますか? そうでない場合、なぜですか?

私の ASP.NET 以前の開発環境には、ほぼ普遍的なベスト プラクティスがありました。

なんで?それはあなたにフックを与えたからです...コードを記述し、アプリケーション全体に適用するための1つの場所。

例: Web フォーム アプリのすべての TextBox の右側に疑問符アイコンを表示することにしたとします。アイコンがレンダリングされ、その上にカーソルを置くとバブル ヘルプがポップアップ表示されます (TextBox.ToolTip プロパティにテキストがある場合)。

MS 提供の TextBox コントロールを使用している場合、どのようにそれを達成しますか?

アプリケーションで TextBox のサブクラス化されたバージョンを一貫して使用している場合は、そのオブジェクトに移動し、アイコンをレンダリングするメソッドを追加して、お気に入りの bubblehelp JavaScript をストックすることができます。

プレスト!アプリのすべての TextBoxes は小さなクエスチョン マーク アイコンを生成します。または、ToolTip テキストを設定すると生成されます。

時間の経過とともに、すべての TextBox を簡単に適応させて拡張することができます。これは、すべての TextBox に変更可能な基本クラスがあるためです。ツール ヒントがリソース ファイルから設定される機能を追加します。次に、TextBox の左側にアイコンを表示する ShowOnLeft プロパティを追加します。iPhone のパスワード コントロールで最後に入力した文字が表示され、それより前の文字が隠されているのが好きですか? サブクラス化された TextBox のパスワードに対するデフォルトの動作を、その動作を実装するメソッドでオーバーライドします。

ASP.NET で、この慣行の支持者に会ったことはありません。私はちょうどそれを逃したのですか?2 ダースの ASP.NET デザイン パターンを説明する記事には、関連するものは何もありません。サーバー コントロールをサブクラス化する方法に関する投稿では、数字のみを受け入れる TextBox など、特別な目的の 1 回限りの機能について説明していますが、「常にサブクラス化されたコントロールを使用してください!」という普及を推奨するものはありません。私が昔加入していたポリシー。

ASP.NET で作業するときに、この古くからの知恵を適用することは理にかなっていますか? ネイティブ サーバー コントロールと同等のサブクラス化されたものを常に使用するには?

そうでない場合 - なぜですか?この猫の皮を剥ぐ他の方法はありますか? 特定のコントロールのアプリケーションのすべてのインスタンスを拡張できる場所を 1 つだけ提供する手法ですか?

それについて聞きたいです。TextBoxQMarkコントロールが必要です。:-)

TIA - ホイスター