問題タブ [construction]
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++ - C++ クラスをゼロに初期化するイディオム
次の C++ クラスを検討してください。
Point2 番目のコンストラクターは、特定xの値を持つを作成するのに役立ちyます。最初のものは存在するので、デフォルトでPoint. ただし、効率化のため、defaulted には設定されずx、yゼロに設定されます。すべてのメンバーをゼロに設定したい場合は、別のコンストラクターを使用できます。
このようにして、 をデフォルトで初期化するかPoint、すべてのメンバーをゼロに設定して初期化するかを選択できます。
3 番目のコンストラクターの問題は、ゼロだけでなく、実際には任意の値を渡すことができることです。例えば:
別の方法は、ゼロまたはデフォルト値を表す特別な型を持ち、それをコンストラクターに渡すことです。
WhereDefaultは次のように簡単に定義できます。
次に、いつPointデフォルト値で初期化するかを制御できます。
Defaultセンチネル型のメソッド(4 番) と、単一の値を取り、すべてのメンバーをその値に初期化するコンストラクター (3 番) のどちらのメソッドが優れていると考えられますか? 2つの方法の長所/短所は何ですか? または、これを行うための別のより良いメカニズムはありますか?
編集:この単純なクラスは説明のために選択されていることに注意してください。実際には、 「初期化済み」と見なされる特定のデフォルト値が必要なメンバーがさらに多く存在する可能性があります。
java - 一部のインターフェイス> Java - この構造を正しく使用するには?
まず、次のクラスがあります。
およびインターフェース:
クラス MapData には 2 つのパラメーターがあり、LinkedHashMap を拡張します。
クラスには 1 つのコンストラクターがあります。
および1つの方法(この方法がアダプターのように機能することを理解する方法):
だから... この構造を正しく使用する方法を知りたいですか? 例えば:
python - クラス内のリストは静的に見えますか?
Python クラスで、次のメソッドを作成しました。
これを次のように使用すると:
出力は次のとおりです。
しかし、私の期待は次のとおりでした。
コードの何が問題になっていますか?