問題タブ [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 投票する
4 に答える
7676 参照

c++ - C ++サブクラス化アクセス修飾子?

私は C++ の初心者で、C/C#/Objective-C などのオブジェクト指向言語について長年の経験があります。今、私はC++を学んでいます。

私はこの C++ コードを見ました:

Worldクラスはクラスをパブリックに継承しているようStateです。公開サブクラス化? わかりにくいです。

この機能のコンセプトは何ですか? そして、これはいつ役に立ちますか、または必要ですか?

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

iphone - NSMutableDictionary のサブクラス化

キーがディクショナリに存在しない場合に NSUndefinedKeyException をスローする代わりに、nil を返す NSMutableDictionary のサブクラスを実装しようとしています。

ただし、オブジェクトを辞書に追加しようとすると、

NilDictionary.h

NilDctionary.m

NSMutableDictionary のすべてのメソッドをサブクラスに再度実装する必要がありますか、それともサブクラス化する必要がある他のクラスがありますか?

明確化: 私の最初の問題は、ドキュメントを正しく読めないことにありました。

NSMutableDictionary をサブクラス化する必要がある場合は、正しい答えを確認してください。キーが存在しないときに nil を返す辞書が必要な場合は、 NSMutableDictionary が既にそれを行っています。

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

python - 組み込み型のサブクラス化の問題

結果として

TypeError: tuple() は最大で 1 つの引数を取ります (2 つ指定)

なんで?代わりに何をすべきですか?

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

ruby-on-rails - Railsでのモデルのサブクラス化

ArticleとRecipeの2つのモデルがあり、同じ属性とメソッドがたくさんあります。新しいクラス「Post」のサブクラスを作成し、それらのすべての共有ロジックをそこに移動して、重複したコードを維持しないようにします。私はこれを試しました:

これらのクラスはすべて、標準の./app/modelsフォルダーにあります。ただし、このコードは、たとえば/ articles / newに移動すると、ActiveRecord::StatementInvalidエラーをスローします。エラーは次のとおりです。

テーブル「投稿」が見つかりませんでした

これを設定する方法はありますか?

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

iphone - UIWebView のサブクラス化は眉をひそめていますか?

UIWebView のサブクラスを作成できるかどうかについて、さまざまなことを聞​​いています。誰かがこれを何らかの方法で明確にするドキュメントに私をリンクできますか?

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

iphone - iPhone のサブクラス化ビュー コントローラーと IBOutlet UITableView

次の問題があります。上記のようなViewControllerを作成しました

Interface Builder の myTableView を対応する nib の UITableView にリンクしました。MyViewController をサブクラス化して、YourViewController を次のように作成しました。

次に、TabBarController から、タブ項目の YourViewController を読み込みます。最後に MyViewController が実際に呼び出されていることがわかりますが、エミュレーターにはテーブル ビューが表示されません。

MyViewController のデバッグを試みましたが、IBOutlet が nil のようです。

何故ですか?

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

objective-c - タイプしてからサブタイプにキャストするか、id を使用するかを決定する考慮事項は何ですか?

サブクラスがスーパークラスの ivar で指定されたものよりも具体的な型を使用する必要があるクラス階層がある場合、スーパークラス ivar を id として宣言するか、それを入力してからサブクラスで必要に応じてキャストする方がよいでしょうか?

たとえば、Thing 型の ivar を使用するスーパークラスがあります。

次に、サブクラスの実装で、SubThing を使用してその methodNotInThing を取得したい

(ここでは、サブクラスが適切に SubThing を ivar に割り当てていると想定しています)。

私は両方のアプローチを使用しました (これまで ObjC を使用していた短い時間でした) が、どちらが最適かについて完全に解決されることはありません。必要に応じてドット構文を使用できることに加えて、実数型の使用によって提供されるコンパイラ チェックが気に入っています。しかし、サブクラスでの定数のキャストはかなり醜くなり、より多くのコードが必要になり、どういうわけか私には味が悪くなります (これはほとんど議論の余地がないと思います)。ただし、型付きバージョンでは、実質的にスーパークラスがサブクラスが ivar で何をすべきかを文書化するという事実が気に入っています。

上記のうちどれがより良いアプローチであり、その理由は?

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

objective-c - NSArrayとNSMutableArrayのサブクラス化

NSArrayNSMutableArrayのリファレンスには、サブクラスを作成する可能性が記載されていますが、これは、独自のバッキングストアとメソッドの実装を提供することによってのみ可能です。

  • count

  • objectAtIndex:

のためNSArrayに、そして

  • insertObject:atIndex:

  • removeObjectAtIndex:

  • addObject:

  • removeLastObject

  • replaceObjectAtIndex:withObject:

のためにNSMutableArrayNSArrayこれは、プログラマーがサブクラス化とを単純な手段では不可能であると考えるようになるという点で誤解を招く可能性がありNSMutableArrayます。

既存のバッキングストアを利用する「単純な」サブクラスを作成することはできませんが(直接アクセスしない場合でも)、少しの「回避策」によって可能です。

そのため、サブクラス化できる可能性を探していたときに、サブクラスを作成して、NSArrayまたはNSMutableArrayバッキングストアのインスタンスとして使用するという簡単なアイデアがありました。

仕組みは次のとおりです。

CSSMutableArray.h

CSSMutableArray.m

サブクラスNSArray化する場合は、というタイトルのセクションのみを提供しますNSArray。これで、「カスタムサブクラスの実装」からサブクラス化してNSArray、必要に応じて作業できます。

これがお役に立てば幸いです...平和!

トーメン=)

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

python - サブクラス化されたPyQTLineEditでkeyPressEventを適切に処理する

シフトキーが押されたときにキャッチしたいQLineEditがあります。

これが私のコードです:

ご想像のとおり、Shiftキーを押すことはできますが、LineEditにテキストを入力することはできません。キーが押されたときにキャッチしようとしましたが、ユーザーがウィジェットに入力し続けることができるように、キーが押された場合の対処方法がよくわかりません。

私は何が欠けていますか?ありがとう!