LoginSignup
2
1

More than 5 years have passed since last update.

電気系プログラミングガチ素人学生がC#のクラスを勉強する話 二日目 ~メソッドとオーバーロード~

Last updated at Posted at 2018-04-06

まえがき

このレポートはSkype勉強会での活動を「書面としてアウトプットする」こと、「電気系の学生の成果物を作るための意識高い系のレポート」です。完全初心者なので、勉強会参加者の先輩たちから様々なツッコミを頂きながら書いております。それゆえに先輩たちの目から外れた誤字脱字等ございますが、ぜひともツッコミいただいて、私の勉強にさせていただければと思います。

メソッドについて

以下のプログラムではShowの記述部分がメソッドに当たります。メソッドとは、クラスの動作、処理を示すものです。
クラスの中でどのような動作をするかどうかを設定する方法です。

using System;

namespace list_7._2
{
    class Person{
        public string FirstName{set;get;};
        public string LastName{set;get;};

        public string Show(){//パスカル記法に基づいて命名、今回は引数はなし
            return $"名前は{this.LastName}{this.FirstName}";//例の如く、this.LastName,this.FirstNameが展開されるように$を入れる。戻り値がこれにあたる。
        }
    }
    class Program
    {
        static void Main(string[] args)//先にMainメソッドが実行
        {
           var p = new Person();//Parsonクラスがコンストラクトされる。

           p.FirstName="太郎";
           p.LastName="山田";

           Console.WriteLine(p.Show());//ParsonクラスのなかのShowメソッドが呼び出される。

        }
    }
}

命名規則について

C#はPascal記法、Java、PHP、Rubyなどでは、camelCase記法なので、先に後者の言語を学んだ方は注意です

オーバーロードの注意

1. 同じ名前のメソッドがあることが許されない。
2.「引数の個数」もしくは、「引数のデータ型」が異なる場合のみ、許される。
→フィールドが名前で識別されるが、メソッドは名前以外にも、引数の型・並び(この並びのことをシグニチャという。)までを見るため。

2の条件を満たした状態でのコンストラクトのことをオーバーロードという。

あとがき

以前の回でご指摘頂いた方、ありがとうございます。もう少し、時間をください。「プロパティ」習ったときに直しを入れて、もう一度投稿いたします。
今回は、オーバーロードを学習し、C言語ならった当方としては、すこし、分かりづらい部分もあったんですが、みなさんが修正や、説明を入れてくれるおかげで理解が早まっています。
まだまだ、先が長いですが、見通しもつきはじめまして、これからも学習を続けていきます。
それでは、またノシ

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1