問題タブ [objectinstantiation]
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.
java - デフォルトのコンストラクターを持たないクラスのインスタンス化
多くのフレームワーク開発では、構成ファイルから修飾されたクラス名を読み取ってクラスをインスタンス化する必要があります。
さまざまなイントロスペクション戦略と、それを対象とした専用ライブラリ (Objenesis など) があります。
ただし、デフォルトのコンストラクターがない (オーバーロードされた) クラスの場合、オーバーロードされたコンストラクターのシグネチャがわからない場合、イントロスペクションは機能しないと思います。非標準的なアプローチは、sun.misc.Unsafe クラスを使用して割り当てることです。これは私が理解していることです。それは正しい理解ですか?
スーパー クラスは Unsafe を使用してインスタンス化されないため、これには問題があります。しかし、Unsafe は、少なくともその一部である、C コードの「new」演算子が呼び出すものに最も近いと思いました。
そこで問題は、私たちが持っている唯一の情報がクラスの修飾名 (そしてもちろんクラスパスのどこかに存在する! )
php - 変数からの PHP クラスのインスタンス化とキーワードの使用
1 つだけ説明をお願いできますか。私が使用したファイルの上部 (Silex コンテキスト):
use Symfony\Component\Validator\Constraints as Assert;
$asserts
アサート名を文字列として持つ配列があるとしましょう。
'Assert\\NotBlank()',
'Assert\\Date()'
私がしようとしているとき
Class Assert\NotBlank() not foundが表示されますが、新しいインスタンスを明示的に作成すると
すべてが機能します。私は何を間違っていますか?
編集:クラスへのフルパスを使用して、使用せずに試しました。()
解決策:括弧なしのフルパスの配列を使用する必要があります。
よろしく、
カミル
c# - テスト アサートの失敗: Null 参照例外。オブジェクト参照がオブジェクト インスタンスに設定されていません
わかりましたので、悲しみを引き起こしているコードが1行ありますが、残念ながらそれがないと、プログラムが壊れます。これは、私がやりたいことを実行するために (プログラムを完全に再構築する以外に) 考えられる唯一の方法です。
この行の目的は、次に実行するクラスを (メニューで) 選択することです。これは、独自のスコープ外です。問題は、メニューのスコープ内にクラス (Login) が存在することです。
ここに行があります:
誰かがこれを書くためのより良い方法を提案できますか?
技術的には、この行に問題はなく、プログラムは問題なく動作します。しかし、テストを実行すると、Null 参照例外が原因でテストが失敗します。
表示されるクラスは次のとおりです。
コントローラ:
意見:
テストは次のとおりです。
javascript - Javascript - プロパティが変更されたオブジェクトをインスタンス化する
編集済み:コンストラクターを作成して、独自のユーザー定義オブジェクトを作成するとします。
ランタイム中に、このコンストラクターによって作成されたオブジェクトに別のプロパティを追加する必要があることがわかったので、これを使用してプロパティをプロトタイプに追加します。
現在、私の唯一のコンストラクターは 1 つの val しか取得できません。同じコンストラクターに別の val を送信することは可能ですか? var newPerson = Person(20,''yes); のように言います。
java - 実際のオブジェクトではなく、コンストラクターで一時オブジェクトを宣言してインスタンス化するのはなぜですか?
これがどこかに答えがある場合は許してください。何を検索すればよいかよくわかりませんでした... また、Java と OOP をまだ学習しているため、用語がオフになっている可能性があります (宣言、インスタンス化など)。
私は教科書を読んでいました: Data Structures and Abstractions, 3rd Ed by Frank Carrano (第 20 章: 辞書の実装)、プライベート内部クラスを含む非常に標準的なクラスに出くわしました。しかし、私がよく理解していない方法論について何かがあります。
オブジェクト(またはオブジェクトの配列)を外部クラスのフィールドとして宣言し、コンストラクターで一時オブジェクトをインスタンス化し、属性をインスタンス化するだけでなく、フィールドを一時オブジェクトとして初期化する理由を理解するのに苦労していますコンストラクターでそれ自体。
編集:型パラメーターをコードに追加し直しました...辞書を使用しているため、この場合はキーと値に K & V が使用されます。それが質問にとって重要かどうかはわかりません...
ここで問題のコードを書き直し、クラスなどの名前を変更して、ローカライズされないようにしました。
前述のように、質問に関連しているとは思わないため、コード内の特定の詳細を取り除こうとしました。外部クラスのコンストラクターでこれを行うだけではない理由はありますか:
それ以外の:
c# - C# でのオブジェクトのインスタンス化の違い: オブジェクトを参照に格納する場合とメソッドを直接呼び出す場合
C# のオブジェクト宣言に疑問があります。私はこれを行うことができるこの例で説明します:
または私はこれを行うことができます
結果は同じですが、この宣言の間に違いはありますか? (構文なし)
ありがとう。