CSharp_use


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

オブジェクトを使う

で、ここまで説明したのですが、ベタC言語な記述でした。
サクッといったんリセットしまして、オブジェクトを利用したプログラムを行ってみましょう。

string型を利用してみる。

string型を使ってオブジェクトを説明してみる。C言語では文字列を扱う場合charを配列にして宣言し、
プログラミングを行いましたがC#で文字列を利用する場合はstringを利用します。

class StringProgram{
 static void Main(){
  string str="testString";
  Console.WriteLine(str);
  Console.Read();//待機用
 }
}

こうすると文字列が表示されます。これはstringという"値"が格納される変数ではなく、
string型の"オブジェクト"が格納されている変数です!・・・?と思ってOKです。僕も言ってて意味わかりません(笑)
まあとりあえずは、strの後に「.」(ドット)を打ってください。するとVC#の機能でダラララッと文字列が列挙されますね。
この列挙された文字列は全部関数です。列挙画像挿入予定 こんな感じに「オブジェクト」は値と違って、関数を持っています。
今回はその中のToUpper()を利用してみましょう。
class StringProgram{
 static void Main(){
  string strA="testString";
  string strB="oneMore!";

  string upperStringA = strA.ToUpper();
  string upperStringB = strB.ToUpper();

  Console.WriteLine(strA+strB);
  Console.WriteLine(upperStringA);
  Console.WriteLine(upperStringB);
  Console.Read();//待機用
 }
}

はじめに表示されるのがTESTSTRINGでstrAをToUpper();したもの。
次に表示されるのがONEMORE!でstrBをToUpper();したもの。
ということで、この関数は今までのC言語の関数とちがって、
.の前にあるオブジェクトの中身によって出力を変化させることができる関数であるということがわかります。
つまりイメージとしてはこんな感じ。 左の変数の状態を反映して、右の関数の処理を変化させることができる。
ということでオブジェクトとは何かというと、
  1. 内部に状態(ここでは値)を保存する
  2. 内部の状態によって振る舞いを変える
の2つの性質を持つモノであると定義できます。わかってしまうと簡単ですね。
こういうものをいっぱい作ってプログラムしていこう!という事です。