0

オブジェクトがクラスのインスタンスであり、インスタンスがネット上で見られるオブジェクトと同じである場合、オブジェクトのインスタンスとは何ですか? このインスタンスという用語に本当に混乱しています。インスタンスの定義と実世界の例をたくさん読んでいますが、理解できず、とても混乱しています。

そして、オブジェクトの参照という用語を理解していることを確認してください.参照は、CLRによって管理されるオブジェクトへのポインターです。ポインタは、メモリの別のチャンクを指すメモリのチャンクです。参照型は、ポインター (参照) を介してアクセスされるデータの型ですか?

4

5 に答える 5

5

objectSystem.Objectクラスの C# シノニムです。のインスタンスobjectは、System.Objectクラスのインスタンスです。すべてのクラスは を拡張System.Objectし、クラスのインスタンスはすべて のインスタンスですobject

于 2013-09-04T15:47:11.583 に答える
2

クラスがあるとしますFooFooオブジェクトを作成する場合は、次のようにインスタンス化します。

Foo myFoo = new Foo();

これで、変数に格納されたオブジェクトはクラス FoomyFooインスタンスになります。

C# のすべてのクラスがオブジェクトから派生するため、オブジェクトFooインスタンスとも言えますが、System.Objectこれを言うのは特に役に立ちません。

于 2013-09-04T15:47:26.037 に答える
0

オブジェクトは、このオブジェクトを他のオブジェクトと区別する実際の情報を格納するメモリの連続したブロックですが、インスタンスはオブジェクトへの参照です。これは、オブジェクトが格納されている場所の開始アドレスを指すメモリのブロックです。2 つのインスタンスが同じオブジェクトを参照する場合があります。オブジェクトとインスタンスの寿命は関係ありません。したがって、インスタンスが null になる可能性があります。オブジェクトを指すすべてのインスタンスが削除されると、オブジェクトは破棄されます。

于 2013-09-04T15:48:46.843 に答える
0

クラスはテンプレートに似たものを記述しますが、オブジェクトはそのインスタンスです。

たとえば、「車」というクラスがあるとします。車がどのように発進するか、ドアが 4 つあるのにエンジンを始動できないことが説明されています。これは単なる説明です。

このクラスを使用して、工場は私の車を製造します (私のオブジェクトを作成してくれます)。この車では、エンジンを始動して追い払うことができます。

コードに関しては、次のように定義carします。

  public class Car {

      public int Doors { get { return 4; } }

      public void StartEngine() {
          // start engine
      }

  }

工場は私のためにそれを作ります:

  Car MyCar = new Car();

私はそれを追い払います:

  MyCar.StartEngine();
  MyCar.DriveAway();
于 2013-09-04T15:49:15.453 に答える
0

文法的には、「オブジェクトのインスタンス」がトートロジーに聞こえることに同意します「オブジェクト」のインスタンスの方が良いでしょう。ただし、dasblinkenlight で説明されているように、「オブジェクト」を「オブジェクト クラス」を意味すると考えると、より理にかなっています。

于 2013-09-04T15:53:56.800 に答える