オーバーライドとかオーバーロードとか似たような単語があって
分かりにくい!ってことで簡単にサンプルコードとか
まずオーバーロードってなんだよってところからだったので検索検索、、、
「オーバーロードとは、引数の型または引数の数が異なる同じ名前のメソッド、
またはコンストラクタを同一クラス内で定義することを言います。」
、、、?ってなったのでいろいろ調べました。
コンソールアプリケーションでのサンプルコード(メソッド呼び出し)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
using System; namespace オーバーロード_Console { class Sample { public void Type(int a) { /// コンソール上に「int型」と出力 Console.WriteLine("int型"); } public void Type(string b) { /// コンソール上に「string型」と出力 Console.WriteLine("string型"); } public void Type(double c) { /// コンソール上に「double型」と出力 Console.WriteLine("double型"); } } class Program { static void Main(string[] args) { Sample SampleClass = new Sample(); /// ()の中に値入れると型の判別し、 /// それにあったメソッドを呼び出してくれる。 SampleClass.Type(); } } } |
30行目の()内だけ変更して動作検証
今回は適当な値を入れてますが、
-2,147,483,648 ~ 2,147,483,647の数値なら「int型」
文字列なら「string型」
小数点とか含んでるやつなら「double型」(範囲は他サイト様が細かく書いてくれてるみたいです。)
今回は、Sampleクラスの中に「Type」という引数の型が異なる同名のメソッドを定義してみました。
これがオーバーロードなんですね。。 覚えたてなので使い道が分からないですが便利なのかな?
以上、ざっくりオーバーロード終わり!
コメントを残す