感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

C#でとりあえずクラスとかコンストラクタ、メソッドを使ってみる

スポンサーリンク

クラスというのは、オブジェクトの性質や型を表すひな形のこと。
「オブジェクトの構造について定めたテンプレート」とかよく言われるけど、初めて聞いたときは意味がわからなかった。

ひな形?型抜きみたいなもの?
なにそれ?

みたいな。

要は、あるデータの塊について、そのデータが持つ値(パラメータ)と、そのデータの塊の動作を定義したものがクラスだと思っていい。

要は世の中のものはだいたい、パラメータと動作で表すことができそうだから、データの構造を「オブジェクト」=「もの」として考えよう、というのがオブジェクト指向である。

たとえば、いまパッと目に入るのがソニーウォークマンだが、こいつは「音楽を鳴らす」という動作ができる。
「音量」という値を持っている。

このウォークマンをモノにたとえて、「オブジェクト」として表すのがオブジェクト指向だ。
上の例だと、

ボリュームの値は以下のような変数に入れて、
private int volume;

音楽を鳴らすのは、
public void sound();
みたいなメソッドで表す。

で、今日はとりあえず「初めてC#でクラスを作ってみよう」という感じで手を動かしてみたのだけれど、C#は今のところかなりJavaに似ている。
というか、クラスの宣言とかメソッドの書き方とかは、Javaと同じ。これは、元をたどればC++に行き着くんだろうか。

とりあえず、こんな感じでPersonクラスを作って、使ってみた。

using System;

class Person
{
    private string name;
    private int age;

    //コンストラクタ
    public Person(string name, int age) {
        this.name = name;
        this.age = age;
    }

    //メソッド
    public void sayHello()
    {
        Console.WriteLine("hello! I am " + this.name);
        Console.WriteLine("My age is " + this.age);
    }


}

class Example
{
    //C#のプログラムはJavaと同じでMainから始まる
    static void Main()
    {
        Person takeshi = new Person("takeshi", 25);
        takeshi.sayHello();
    }
}

結果はこうなる。

hello! I am takeshi
My age is 25