問題タブ [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.
c++ - 引数として渡された場合、サブクラス関数で保護されたスーパークラスメンバーにアクセスできないのはなぜですか?
少し混乱しているコンパイルエラーが発生します。これはVS2003にあります。
エラー C2248: 'A::y': クラス 'A' で宣言された保護されたメンバーにアクセスできません
問題は x = item.y; にあります。
アクセスは保護されていると指定されています。クラス B のコンストラクターが A::y にアクセスできないのはなぜですか?
polymorphism - ポリモーフィズムでスーパークラスのオブジェクトを使用してサブクラスの変数にアクセスすることは可能ですか?
KeyBoardPlayer
クラスのオブジェクトでクラスの状態変数にアクセスするにはどうすればよいKalaPlayer
ですか?
c++ - 初期化リストでスーパークラスのアドレス/ポインタを使用
コンテキスト 1: クラス D: public B1、public B2{};
コンテキスト 2: B2 は B1 を使用して初期化します: B2( B1 * ) //B2 のコンストラクター
私の質問はDの初期化リストにあります:
D::D() : B1(), B2( ? )... には何が必要ですか?
? に " (B1*)this " を入れたくない 初期化リストで「this」を使用するのは良くないためです。そして B1 部分は初期化されているので、それを使用するのは理にかなっています。
私は何をすべきか ?
java - JavaWebサービス/JAXB-抽象スーパークラス
抽象スーパークラスを持つJAXB注釈付きクラスを含むパッケージがあります。このスーパークラスをWebサービスインターフェイスで使用したいので、任意のサブクラスをパラメーターとして渡すことができます。これを行うと、例外がスローされます。
パラメータを手動でマーシャル/アンマーシャルして文字列として渡すことは可能ですが、避けたいと思います。それを行う方法はありますか?
java - Hibernate: サブクラスをそのスーパークラスにリンクするにはどうすればよいですか?
ウェブショップ プロジェクトの設定に少し問題があります。つまり、User() スーパークラスと、PrivateUser と BusinessUser の 2 つのサブクラスがあります。
さて、休止状態を介してこの関係を保存する方法がよくわかりません。
この質問の目的のために、User() クラスには 1 つのフィールドのみが含まれ
ます。
PrivateUser には以下が含まれ
ます。
また、BusinessUser には以下が含まれます
。
各フィールドにはゲッターとセッターがあります。現時点では、firstName と companyName のみを保存して取得できます。Hibernate を使用して DB からユーザーをフェッチすると、null アドレスを持つ PrivateUser/BusinessUser が取得されます。
肝心なのは、誰かが私に役立つチュートリアルを教えてくれるか、それとも同様のサンプルコードを見せてくれるでしょうか?
ありがとう!
java - サブクラス オブジェクトを使用して、そのスーパークラス オブジェクト内で保護されたプロパティを変更する
くだらないタイトルで申し訳ありませんが、Java の質問に対するより良いバージョンを思いつきませんでした。現在、Java バージョン: 1.6.0_18 および Netbeans バージョン: 6.8 を使用しています。
それでは質問です。
私が行ったことは、保護されたintプロパティを1つだけ持つクラスを作成し、次にintプロパティを特定の値に設定するパブリックメソッドを作成しました。次に、そのクラスのオブジェクトを作成し、そのパブリック メソッドを使用して int プロパティを 5 に設定しました。このオブジェクトを取得して保護された int プロパティを公開する別のクラスを作成するには、あなたの助けが必要です。
これを行うと考えられる方法は、そのクラスを継承するサブクラスを作成してから、スーパークラスの int プロパティを取得するメソッドを作成することでした。int プロパティを取得するコードの作成には成功しましたが、この新しいサブクラスを使用してスーパー クラスのオブジェクトを参照する方法がわかりません。
これまでに私が持っている2つのクラスは次のとおりです。
「A」のオブジェクトを作成し、そのメソッドを使用して、次のようにプロパティを 5 に設定しました。
ここで、「B」のオブジェクトを作成して、「objA」のプロパティに格納されている int を出力したいと考えています。私はこのコードを実行しようとしました:
しかし、最初の行に「java.lang.ClassCastException」というエラーが表示されました
p>とにかく私がやろうとしていることはありますか?
PSクラスAを編集したくないので(選択の余地がない限り)、ゲッターメソッドを与えることでこのアイデアを機能させたいと思っています。
PPSまた、プロパティを非公開にして公開セッター/ゲッターメソッドを使用するのではなく、公開するのが「悪い」考えであることは知っていますが、私はこの方法が好きです:)。
編集:コードタグを追加
java - Java:特定の条件でサブクラスを構築するスーパークラスは可能ですか?
私はこの状態にあります
Bのインスタンスを作成すると、スーパークラスのアクションをオーバーライドするため、アクションはBのアクションのみを実行します。
問題は、私のプロジェクトでは、スーパークラスAがすでに何度も使用されていることです。特定の条件下で、Aのインスタンスを作成するときにチェックを行い、それがtrueの場合はそれ自体を置き換える方法を探しています。 Bで。
これは何らかの方法で可能ですか?
java - リフレクション:instanceofを使用せずにオブジェクトをサブクラスにキャストします
私はこの単純なインターフェース/クラスを持っています:
そしてユーティリティクラス:
さて、メインクラス:
出力は
私はそれp.handler(m)
がメソッドを呼び出すだろうp.handler(m:Message1)
instanceof
多くの場合があるので、「手動」コマンドを使用したくありません。
呼び出すm.getClass()
と、「mypackage.Message1」が取得されるため、スーパークラスではなくサブクラスが取得されます。
私はこのコードで試してみます(リフレクションを使用):
しかし、出力は
だから、これは私の問題です。「コードコマンド」istanceofを使用せずに、スーパークラスオブジェクトからサブクラスオブジェクトへのランタイムキャストを実行します。
私はこのような正しいコマンドをします:
どうすれば入手できますか?それが可能だ?
java - この状況で継承を使用することは可能ですか? (ジャワ)
ClassA と ClassB があり、ClassA がスーパークラスです。
ClassA は NodeA を使用し、ClassB は NodeB を使用します。
最初の問題: メソッドのパラメーター。ClassB には NodeB 型が必要ですが、サブクラスからスーパークラスにキャストできません。つまり、NodeB に固有のプロパティを設定することはできません。
2 番目の問題: ノードを ClassB に追加する必要がある場合、新しい NodeB をインスタンス化する必要があります。しかし、スーパークラスではこれを行うことができないため、NodeB を使用するように挿入を書き直す必要があります。
それを回避する方法はありますか、それともすべてを書き直す必要がありますか?
subclass - Automapper を使用してプロパティのサブクラスを平坦化する
クラスを考えると:
Automapper を使用して Source -> Dest をマッピングしたいと考えています。
このテストは明らかに失敗します。
「人」が実際にドメインモデル全体で頻繁に使用されるデータ型であることを考えると、これをマッピングするための最良のアプローチは何でしょうか。
編集:意図は、「人」のサブタイプのすべてのプロパティに対して定義されたフィールドを持つ「Dest」オブジェクトを永続化することです。したがって、次のようなソース オブジェクトを持つことができ、"Person" サブクラスのすべての可能な組み合わせに対して Dest オブジェクトを作成する必要はありません。