目次
・メソッド
・引数
□メソッド
1 2 3 4 |
private void Sample() { MessageBox.Show("テスト"); } |
Sampleメソッドを作ってみました。{ }内に記述しているのが処理内容ですね。
今回はメッセージボックスの表示だけでしたが、複数行記載しても大丈夫です。
このまとまりがメソッドです。処理を纏めた括りなんだな程度でいいと思います。
□引数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System; namespace ConsoleApp2 { class Program { static void Main(string[] args) { string sample(int i,string s,bool b) { return i + s + b; } Console.WriteLine(sample(10,"は整数です。",true)); } } } |
■実行結果
9行目:sample()より前で記述しているのは戻り値(return)の型です。(今回はstring(文字列型))
「i」と「s」と「b」を文字列にして足すイメージでしょうか。
引数は()内、第1引数を「int型」第2引数を「string型」第3引数を「bool型」とします。
※intは整数値、stringは文字列、boolは「true」or「false」です。
試しに間違ったの入れてみるとエラーが出ます。(下図)
□インスタンス
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 |
using System; using System.Windows.Forms; namespace WindowsFormsApp3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public class Sample { public void message(string word) { MessageBox.Show(word); } } private void Form1_Load(object sender, EventArgs e) { //インスタンス1 Sample sample2 = new Sample(); sample2.message("インスタンス1"); //インスタンス2 Sample sample3 = new Sample(); sample3.message("インスタンス2"); } } } |
13行目:クラス名は「Sample」、アクセス修飾子は「public」としてクラスの定義を行います。
15行目:内容は決まってないけどメッセージボックスを表示させたい!みたいなメソッドを作成します。
関数名(メソッド名)は「message」、引数は「string型」で文字列指定にしましょう。
24行目:今回の例では「(クラス名)(任意の変数名)=new(クラス名);」で
インスタンス化が出来ます。
25行目:「Sample」クラスの設計図からnewすることで
実体になった「sample2」で「message」メソッドを動かします。
メッセージの中身と出来るのは15行目で指定した文字列型のみです。
□コンストラクタ
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 |
using System; namespace ConsoleApp3 { public class Sample { private readonly int x; private readonly int y; public Sample() { x = 10; y = 20; } public int Test() { return x + y; } } class Program { static void Main(string[] args) { Sample sample2 = new Sample(); Console.WriteLine(sample2.Test()); } } } |
まずコンストラクタとは「インスタンス生成時」に最初に呼び出されるものです。(newしたとき)
記述の仕方として、戻り値がないものはvoidを付けますが書きません、
Class名とコンストラクタ名は同じにする必要があります。(10~14行目)
5行目:Sampleクラスでint型の変数x.yの定義、コンストラクタ、Testメソッドを作成します。
コンストラクタは上記の通り記載するのでvoidはなし、コンストラクタ名は「Sample」とします。
Testメソッドはxとyを足した値を返すだけです。
26行目:Sampleクラス使いたいのでインスタンス作成します。
27行目:呼んでいるのはTestメソッドで中身にはxとyを足す処理だけで
数値が決められているわけではありませんが実行すると「30」と表示されます。
その理由として「インスタンス生成時にコンストラクタが実行されている」
というものがあるからですね。
0 Comments
1 Pingback