問題タブ [superclass]

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 に答える
381 参照

python - Pythonクラスの初期化を理解する

2つのクラスがあるとします。

別のクラスがあります

AまたはBから継承する場合、この実装によって可能ですか?

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

python - インスタンス化できないスーパークラス

そのため、外部アカウント プロバイダー (Twitter、Facebook など) に接続するためのモジュールを作成しています。それ自体では役に立たないスーパークラスがありますが、認証トークンを永続化するためにサブクラスによって呼び出される必要がある汎用メソッドが含まれています。認証トークンとプロバイダーの認証解除。私の質問は、それをインスタンス化できないようにする方法はありますか、それとも同意した大人のルールに従い、それを使用する人が適切と思われるように間違いを犯すようにするべきですか? docstring 以外に、誰かがこのスーパークラスを単独で使用してはならないことを示す良い方法はありますか?

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

android - AndroidClass.getGenericSuperclassはjava.lang.Objectを返します

クラスから一般的な情報を読み込もうとしています。これが私がしていることです:まず第一に、私はクラスEntityHelperを持っています。その中のどこかで、実際にそのTが何であるかを確認したいと思います。これは次の方法で実行できることを知っています。

しかし、getGenericSuperClassが返すメソッドはjava.lang.Objectです。これは、Tが別のもの、たとえばDummyEntityであることがわかっているため、正しくありません。

私が使用しているAndroidプラットフォームは7です。これはある種のバグですか、それとも重要な何かが欠けていますか?

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

java - スーパークラス コンストラクターを明示的に呼び出す必要があるのはいつですか?

スーパークラスを拡張するサブクラスがあるとします。super()スーパークラス コンストラクターを実行するには、どのようなシナリオで明示的に入力する必要がありますか?

抽象クラスに関する本の例を見ていますが、非抽象サブクラスでそれを拡張すると、サブクラスのデフォルト コンストラクターが空白になり、スーパークラスのデフォルト コンストラクターが呼び出されるというコメントがあります。同時に、ここで誰かの問題が明示的に を呼び出していない例も見てきましたsuper()

スーパークラスのデフォルト/デフォルト以外のコンストラクターをサブクラスのデフォルト/デフォルト以外のコンストラクターから呼び出すこととの違いはありますか?

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

ios - 彼の子供たちのそれぞれの中でスーパー変数を異なってキャストする方法は?

現在の状況
私は多くの「CardsControllers」のスーパーである「GeneralCard」という名前のスーパークラスを持っています。

「GeneralCard」から継承するすべてのクラスには、異なるNSManagedObjectsサブクラスを保持するUIViewControllerの異なるサブクラスがあります-

(WhiteCardsController-> WhiteCard、RedCardsController-> RedCard ...)。

私は、すべてのmanagedObjectに対して実際に同じである多くの関数を持っています。だから私はそれらを一般的なカードにグループ化したい。

問題

私は:と呼ばれる「一般的な」NSManagedObjectを作成しました。

今、各Viewコントローラーでキャストしようとしています:

したがって、「WhiteCard」プロパティを使用できるようになります。

私は次のようなエラーが発生し続けるので、そのdosentは機能します-

... Cards View Controllers / WhiteCardViewController.m:226:エラー:構造体または共用体ではないもののメンバー「レター」の要求

レターはNSManagedObjectで構造化されていませんが、彼のWhiteCardサブクラスでは構造化されています。

質問へ *スーパーから同じ変数を共有し、各vewコントローラーで異なる方法でキャストするにはどうすればよいですか?*

どうもありがとう

シャニ

0 投票する
8 に答える
142 参照

java - 人に何か奇妙なことが起こっています

次のJavaコードでは

super.ageの値が22で、サブクラスの年齢の値と同じである理由は、18であるはずではありません。
どんな助けでも大歓迎です。
前もって感謝します。

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

ruby-on-rails - Rails - スーパークラスのリファクタリング

私は 2 つのモデルを持っていAますB。これらはいくつかの属性を共有していますが、特定の属性もあります。

A には属性 =>SHARED_ATTRA_ATTR

B には属性 =>SHARED_ATTRB_ATTR

とレコードの両方を含む配列を使用する必要がありpaginateます。これを可能にする最善の方法は、次のような方法でスーパーモデルを作成することだと思います。acts_as_listABC

Aそして、とのテーブルを削除Bし、それらのレコードを と を使用して新しいグローバルCテーブルにSHRED_ATTRコピーしたいA_ATTRと考えていB_ATTRます。

私の質問は:

A レコードと B レコードを失うことなくこれを行うための最善かつ最速の方法は何ですか?

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

java - Java でさまざまな型のリストを作成する

スーパー クラスと、Vehicleそれを拡張する 3 つのクラスがあります。さまざまなタイプの車両を含むリンクされたリストが必要です。使用しますBusCarTruck

を使用するとうまくいくようSystem.out.println(list.get(2))ですが、理由がわかりませんか?私は異なるクラスに実験toString()関数として追加しましVehicleたが、それでも拡張されたクラスのtoString(). いつ父親の機能を使用し、いつ息子の機能を使用しますか?

異なるクラスはすべて同じ関数を持ちますが、プライベート変数は異なります。

クラスは次のとおりです。

バス:

トラック:

車:

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

java - コンストラクターでsuper()を呼び出さなければならないサブクラスのJava回避策?

RandomAccessFileオブジェクトを使用するプログラムを編集していて、ファイルオブジェクト以外のデータに別のソースを使用する独自のRandomAccessFileクラスを考え出したい(これはAmazon WebServices S3オブジェクトですが、関係ありません)。

基本的には、RandomAccessFileをスーパークラスとするRandomAccessS3というクラスを作りたいので、簡単に言うことができます。

RandomAccessFile raf = new RandomAccessS3();

したがって、既存のコードを同じに保ちます。RandomAccessFileのすべてのメソッドをオーバーライドするだけです。

問題は、サブクラスRandomAccessS3のコンストラクターで、パラメーターとしてファイル名を受け取るsuper(file、mode)を使用してRandomAccessFileのコンストラクターを呼び出さなければならず、ファイルが無効な場合はエラーをスローして終了することです。

コンストラクターの最初の行はsuperである必要があるため、super()呼び出しをtry/catchブロックで囲むことはできません。ダミーファイルを提供することはできますが、ユーザーにそれを強制したくありません。これを回避する簡単な方法はありますか?

ありがとう!

0 投票する
6 に答える
2308 参照

java - 既存のスーパークラスフィールドからサブクラスを作成します

既存のクラスのサブクラスを作成する必要があります。これは、その方法を知っていますが、スーパークラスを変更せずに、既存のスーパークラスに基づいてサブクラスを作成できる必要があります。

例えば:

したがって、上記の例では、Fooの既存のインスタンスを使用して、それをBarに変換し、_bフィールドを2に設定します。

編集

重要な制約、私は誰もがFooを編集するように私に言うとは思いませんでした。Fooを変更することはできません。そのクラスは編集できないライブラリにあるため、Fooを編集せずに実行する必要があります。

EDIT2

これが実際のFooで、MinecraftのChunkProviderクラスです。