ID非公開

2020/9/14 15:56

22回答

C言語とC#で自作関数の使い方は一緒ですか?

C言語とC#で自作関数の使い方は一緒ですか?

C言語関連28閲覧

ベストアンサー

2

構造化言語であるC言語は、関数を単位としてプログラムを構築しますが、 オブジェクト指向化言語であるC#では、クラスというものを単位としてプログラムを構築します。 C#には、関数は無く、それに近い存在として、メソッドと呼ばれる物が、 クラス内の要素として存在します。 C言語で、基本的に全ての処理は関数内にあり、関数から独立した処理というのは存在しないのと同じ様に、 C#では、基本的に全ての処理はクラス内にあり、クラスから独立した単体の関数というものはありません。 なお、C言語の関数、C#のクラス共に、自作〜という概念はありません。 自分で書いたものも他人が書いたものも、平等に共通して同じ関数やクラスです。 その違いは、 メソッドは、クラス内の要素の一つなのでクラスの内部にしか存在できません。 また、アクセス制御機能を持ち、アクセス指定子で指定された範囲でしか、使うことができません。 オブジェクト指向のクラスの継承により、サブクラスでの機能を書き換えるオーバーライドという機能があります。 さらに、オブジェクト指向とは関係ありませんが、同名のメソッドを多重に定義できる、オーバーロードという機能があります。 その他、引数に参照渡しが使えたり(ポインタを使わなくて良い)、出力専用の引数を指定できたりと、 C言語に比べて安全性を高める工夫がなされています。

2人がナイス!しています

その他の回答(1件)

1

C言語は関数でC#はメソッドと言います。名前が異なるように、使い方も異なります。関数は関数名のまま使いますが、メソッドはクラス内に書きインスタンス化でインスタンス名を付ける関係でインスタンス名.メソッド名(引数)と先頭にインスタンス名を付けます。

1人がナイス!しています