C# のオブジェクト

王林
リリース: 2024-09-03 15:04:20
オリジナル
605 人が閲覧しました

次の記事では、C# のオブジェクトの概要を説明します。すでに知られているように、C# はオブジェクト指向プログラミング言語であり、C シャープと発音されます。 C# は C++ から進化しましたが、両者は互いに異なります。基本的な違いは、C++ と C# を通じて理解できます。

オブジェクトはクラスのインスタンスです。ここでは、特定のプログラムの出力を提供するためにメモリが動的に割り当てられます。では、この動的割り当てはどのように説明できるのでしょうか?オブジェクトは、クラスの下で定義されているさまざまな関数または変数にアクセスするために作成されます。したがって、オブジェクトは実際にアクセスしようとしているデータ型を知りません。したがって、アクセスされた要素から値を取得した後、メモリを動的に配置します。

オブジェクトの作成

一般に、オブジェクトは 2 つの方法で作成できます。そのうちの 1 つは、「new」コマンドを使用する方法です。

オブジェクトの一般的な構文は次のとおりです:

Class-name object-name = new Class-name();
ログイン後にコピー

その後、オブジェクト名を使用して、クラス内で定義されているそれぞれのメソッドと変数にアクセスできます。

オブジェクトを定義するもう 1 つの方法は、別のオブジェクトを参照することです。値を代入するようなもの。

コード:

Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;
ログイン後にコピー

オブジェクト object-name1 と object-name2 を使用して、クラス内の変数とメソッドにアクセスできます。

C# のオブジェクトの例

ここでは、C# でオブジェクトを作成する方法ごとに 1 つの例を示します。

以下は、数値の 2 乗を求めるプログラムです。

コード:

using System;
class Square
{
public int side;
public Square(int a)
{
side=a;
}
public int Sq()
{
return side*side;
}
}
class First
{
static void Main(String [] args)
{
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
}
}
ログイン後にコピー

出力:

C# のオブジェクト

  • Square クラスを作成し、クラス内に 2 つの関数を作成しました。コンストラクターでもある 1 つの関数 (関数名はクラス名と同じ) は数値の値を入力するためのもので、もう 1 つは実際の操作を実行するためのものです。
  • 内部に main 関数を持つクラス First で、オブジェクト「s」を初期化し、実際に二乗演算を実行したい数値のパラメータを渡しました。
  • そして変数の結果を宣言しました。オブジェクトにアクセスしたメソッド「Sq」の出力を渡し、実際の操作を実行します。
  • 最後に、二乗結果をコンソールに出力します。

オブジェクトを作成する次の方法の例は次のとおりです。

コード:

using System;
class Square
{
public int side;
public Square(int a)
{
side=a;
}
public int Sq()
{
return side*side;
}
}
class First
{
static void Main(String [] args)
{
int result1,result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
}
}
ログイン後にコピー

出力:

C# のオブジェクト

これを拡張して、オブジェクトを使用して変数に値を代入することもできます。どうすればそれができるか見てみましょう。

コード:

using System;
class Square
{
public int Side;
public Square(int side)
{
Side=side;
}
public int Sq()
{
return Side*Side;
}
}
class First
{
static void Main(String [] args)
{
int result1,result2,result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
}
}
ログイン後にコピー

ここでは、変数にアクセスし、その値を 6 から 7 に変更しました。その後、値を新しい変数の結果 3 に初期化した後、出力が出力されます。

出力:

C# のオブジェクト

ここまで、オブジェクトを作成し、単一のテキスト形式を通じてそれを参照してきました。ここで、データの保存と操作にオブジェクトの配列が必要な場合はどうなるかを見てみましょう。

コード:

using System;
class Square
{
public int Side;
public void Sqr(int side)
{
Side=side;
}
public int Sq()
{
return Side*Side;
}
}
class First
{
static void Main(String [] args)
{
int result1,result2,result3;
Square[] sq = new Square[3];
sq[0]= new Square();
sq[1]= new Square();
sq[2]= new Square();
sq[0].Side=13;
sq[1].Side=85;
sq[2].Side=25;
result1=sq[0].Sq();
result2=sq[1].Sq();
result3=sq[2].Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
}
}
ログイン後にコピー

上記のプログラムでは、前と同じように、オブジェクトの配列を作成し、各オブジェクトに値を割り当てました。次に、2 番目の関数を実行して、2 つの数値の 2 乗を生成しました。

出力:

C# のオブジェクト

演習として、オブジェクトの配列を使用して 3 つの科目の 5 人の生徒の採点を読み込んでみてはいかがでしょうか?

結論

上で見たように、さまざまな方法でオブジェクトを作成し、それを使用して変数に値を代入し、クラス内に存在する関数を呼び出しました。ただし、ここでは、アクセス修飾子に基づいたいくつかのルールを理解し、従う必要があります。オブジェクトは、別のクラスに属する「プライベート」アクセス修飾子を使用して変数/関数にアクセスできません。ただし、private 修飾子を使用して宣言されていても、同じクラス変数または関数にアクセスできます。このようにして、クラス、変数、関数、オブジェクトに関して定義された一連のルールが存在します。さまざまなアクセス修飾子を使用してさまざまな方法でオブジェクトを作成してみて、オブジェクトの範囲を理解し、学習を続けるために出力を確認してください。

以上がC# のオブジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート