タグ付けされた質問 「object」

オブジェクトは、プログラミング言語のコマンドによって操作できるエンティティです。オブジェクトは、値、変数、関数、または複雑なデータ構造にすることができます。オブジェクト指向プログラミングでは、オブジェクトはクラスのインスタンスを指します。

20
C#でのオブジェクトプロパティの比較[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 2年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 これは、他の多くのクラスから継承されたクラスのメソッドとして思いついたものです。これは、同じタイプのオブジェクトのプロパティを簡単に比較できるという考え方です。 これでうまくいきますが、コードの品質を向上させるために、精査のために捨てると思いました。どのようにそれはより良い/より効率的/などになることができますか? /// <summary> /// Compare property values (as strings) /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool PropertiesEqual(object comparisonObject) { Type sourceType = this.GetType(); Type destinationType = comparisonObject.GetType(); if (sourceType == destinationType) { PropertyInfo[] sourceProperties = sourceType.GetProperties(); foreach (PropertyInfo pi in sourceProperties) { if ((sourceType.GetProperty(pi.Name).GetValue(this, …

16
C ++:空のクラスのオブジェクトのサイズは?
空のクラスのオブジェクトのサイズはどうなるのだろうと思っていました。他のオブジェクトと同じように参照およびポイントできるようにする必要があるため、0バイトにはできません。しかし、そのようなオブジェクトはどのくらいの大きさですか? 私はこの小さなプログラムを使用しました: #include <iostream> using namespace std; class Empty {}; int main() { Empty e; cerr << sizeof(e) << endl; return 0; } Visual C ++コンパイラとCygwin-g ++コンパイラの両方で取得した出力は1バイトでした。マシンワードのサイズ(32ビットまたは4バイト)になると思っていたので、これは少し意外でした。 なぜ 1バイトのサイズなのか誰かが説明できますか?なぜ 4バイトではないのですか?これはコンパイラまたはマシンにも依存していますか?また、空のクラスオブジェクトのサイズが0バイトにならない理由について、より説得力のある理由を誰かが示すことができますか?
111 c++  class  object 

2
PHP-foreachループで現在のオブジェクトを変更する
foreachループ内で処理されている現在のオブジェクトを編集できるかどうか疑問に思っていました 私はオブジェクトの配列を使用していて、$questions自分のデータベースでその質問オブジェクトに関連付けられている回答を調べて調べたいと思います。したがって、各質問に対して回答オブジェクトをフェッチし、ループ$question 内の現在のオブジェクトを更新して、foreach他の場所で出力/処理できるようにします。 foreach($questions as $question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
111 php  arrays  object  foreach 

6
オブジェクトの配列にプロパティを追加する
以下に示すようなオブジェクトの配列があります Object {Results:Array[2]} Results:Array[2] [0-1] 0:Object id=1 name: "Rick" 1:Object id=2 name:'david' このオブジェクトの配列の各要素に、Activeという名前のプロパティをもう1つ追加したいと思います。 最終的な結果は次のようになります。 Object {Results:Array[2]} Results:Array[2] [0-1] 0:Object id=1 name: "Rick" Active: "false" 1:Object id=2 name:'david' Active: "false" 誰かがこれを達成する方法を教えてもらえますか?

12
オブジェクトプロパティに直接割り当てられたクロージャを呼び出す
変数にクロージャーを再割り当てしてそれを呼び出すことなく、オブジェクトのプロパティに直接割り当てるクロージャーを呼び出せるようにしたいのですが。これは可能ですか? 以下のコードは機能せず、原因となりFatal error: Call to undefined method stdClass::callback()ます。 $obj = new stdClass(); $obj->callback = function() { print "HelloWorld!"; }; $obj->callback();

5
名前にドットが含まれている場合にJSONオブジェクトの値を取得するにはどうすればよいですか?
私は非常に単純なJSON配列を持っています(「points.bean.pointsBase」オブジェクトに注目してください): var mydata = {"list": [ {"points.bean.pointsBase": [ {"time": 2000, "caption":"caption text", duration: 5000}, {"time": 6000, "caption":"caption text", duration: 3000} ] } ] }; // Usually we make smth like this to get the value: var smth = mydata.list[0].points.bean.pointsBase[0].time; alert(smth); // should display 2000 ただし、残念ながら何も表示されません。名前にドットのない「points.bean.pointsBase」をsmth に変更すると、すべてが機能します。 ただし、この名前をドットなしで他の名前に変更することはできませんが、値を取得する必要がありますか? それを取得するためのオプションはありますか?

3
JavaScriptで小文字の「f」を使用した `new function()`
私の同僚は、JavaScriptで新しいオブジェクトを定義するために、小文字の「f」を使用して「new function()」を使用しています。すべての主要なブラウザでうまく機能しているようで、プライベート変数を隠すのにもかなり効果があるようです。次に例を示します。 var someObj = new function () { var inner = 'some value'; this.foo = 'blah'; this.get_inner = function () { return inner; }; this.set_inner = function (s) { inner = s; }; }; 「this」が使用されるとすぐに、someObjのパブリックプロパティになります。そのため、someObj.foo、someObj.get_inner()、someObj.set_inner()はすべて公開されています。さらに、set_inner()とget_inner()は特権メソッドであるため、クロージャーを介して「内部」にアクセスできます。 ただし、この手法への言及はどこにもありません。Douglas CrockfordのJSLintでさえ不満があります。 奇妙な建設。「新規」を削除 この手法は本番環境で使用しており、うまく機能しているようですが、ドキュメント化されていないため、少し心配です。これが有効な手法であるかどうか誰かが知っていますか?

2
moment.jsの可変性を回避するにはどうすればよいですか?
モーメントオブジェクトの初期値を保存する必要があるという問題に遭遇しましたが、元のオブジェクトと一緒に変数が変更されないようにするのに問題があります。 残念ながら、Object.freeze()は機能しません。moment.jsがフォーマットしようとすると、「無効な日付」エラーが返されるためです。

6
toString()とhashCode()がオーバーライドされたときに、Javaでオブジェクトの「オブジェクト参照」をどのように取得しますか?
デバッグの目的で、Javaでオブジェクトの「オブジェクト参照」を出力したいと思います。つまり、状況に応じてオブジェクトが同じ(または異なる)ことを確認します。 問題は、問題のクラスが別のクラスを継承していることです。これにより、通常はIDを取得するtoString()とhashCode()の両方がオーバーライドされます。 状況例:すべてのスレッドがリソースオブジェクトの同じインスタンスを使用しているかどうかを(開発中に)確認したい、マルチスレッドアプリケーションの実行。
106 java  object  hashcode 

6
デフォルトの.equalsと.hashCodeはクラスでどのように機能しますか?
自分のクラスがあるとしましょう public class MyObj { /* ... */ } いくつかの属性とメソッドがあります。これは、equalsを実装せず、hashCodeを実装しません。 equalsとhashCodeを呼び出したら、デフォルトの実装は何ですか?オブジェクトクラスから?そして、彼らは何ですか?デフォルトのequalsはどのように機能しますか?デフォルトのhashCodeはどのように機能し、何が返されますか?==それらが同じオブジェクトを参照しているかどうかをチェックするだけなので簡単ですが、equals()メソッドとhashCode()メソッドはどうですか?

4
JavaScriptでのオブジェクト/配列のパフォーマンスはどのくらいですか?(特にGoogle V8の場合)
JavaScriptの配列とオブジェクト(特にGoogle V8)に関連するパフォーマンスは、文書化すると非常に興味深いものになります。このトピックに関する包括的な記事はインターネットのどこにもありません。 一部のオブジェクトは、基礎となるデータ構造としてクラスを使用することを理解しています。プロパティが多数ある場合、ハッシュテーブルとして扱われることがありますか? また、配列がC ++配列のように扱われる場合があることも理解しています(つまり、高速なランダムインデックス付け、削除の遅延、サイズ変更)。また、オブジェクトのように扱われる場合もあります(高速なインデックス作成、高速な挿入/削除、より多くのメモリ)。そして、時々それらはリンクされたリストとして保存されるかもしれません(すなわち、遅いランダムなインデックス付け、最初/最後の速い削除/挿入) JavaScriptでの配列/オブジェクトの取得と操作の正確なパフォーマンスは何ですか?(特にGoogle V8の場合) より具体的には、それがパフォーマンスに与える影響: オブジェクトにプロパティを追加する オブジェクトからプロパティを削除する オブジェクトのプロパティにインデックスを付ける 配列に項目を追加する 配列からアイテムを削除する 配列内のアイテムにインデックスを付ける Array.pop()を呼び出す Array.push()を呼び出す Array.shift()の呼び出し Array.unshift()の呼び出し Array.slice()の呼び出し 詳細についての記事やリンクも同様にいただければ幸いです。:) 編集:私は本当にJavaScriptの配列とオブジェクトが内部でどのように機能するのか疑問に思っています。また、V8エンジンは別のデータ構造に「切り替える」ことをどのような状況で「知っている」のでしょうか。 たとえば、次のような配列を作成するとします... var arr = []; arr[10000000] = 20; arr.push(21); ここで何が起こっているのですか? または...これは... ??? var arr = []; //Add lots of items for(var i = 0; i < 1000000; i++) arr[i] …

7
名前付きプロパティをオブジェクトのように配列に追加できるのはなぜですか?
次の2つの異なるコードスニペットは私と同等に見えます。 var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; そして var myObject = {'A': 'Athens', 'B':'Berlin'}; 両方が同じように動作し、またtypeof(myArray) == typeof(myObjects)(どちらも「オブジェクト」を生成するため)。 これらの亜種の間に違いはありますか?



6
Pythonで複数の変数を保存および復元するにはどうすればよいですか?
約12個のオブジェクトをファイルに保存して、後で復元する必要があります。forleループをpickleとshelveで使用しようとしましたが、正しく機能しませんでした。 編集。 保存しようとしていたすべてのオブジェクトは同じクラスにありました(これについては以前に触れたはずです)。クラス全体を次のように保存できることを理解していませんでした。 import pickle def saveLoad(opt): global calc if opt == "save": f = file(filename, 'wb') pickle.dump(calc, f, 2) f.close print 'data saved' elif opt == "load": f = file(filename, 'rb') calc = pickle.load(f) else: print 'Invalid saveLoad option'
104 python  variables  object 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.