C# class と object

      2017/07/13

class と object C# 入門

class

classとは設計図です。
objectはクラスをnewした時にできる。
インスタンスともいうやつですね。
object思考は最低でもクラスを設計しなければobject思考的
な書き方はできません。

オブジェクト指向のメリットは
色々あると思いますが
再利用と保守性があります。
再利用は使い回しができるし便利ですね。
保守性は変更があった場合やバグが見つかった場合
クラスを変更するだけですみます。

※この説明はSQLについて
考慮されたものではありません。

object思考は概念ですので
google先生に聞いてもいいですが
とりあえず文法を覚えてたり
デザインバターンを覚えたり
優秀な先輩のソースコードを参考にして下さい。

業務系はSQL大好きなので
純粋なオブジェクト思考は
できません。

SQLやデータベースは
データ指向的な考えだし
オブジェクト思考で作るのも
どうかと思います。

vb.netだからかもしれないけどMVCモデルをわざわざ
採用しているところを
見たことがありません。

オブジェクト思考で業務系を
説明するのは
あまり好ましくありません。
SQLと相性が良くないからです。

SQLを使わないで
書くなら別ですが。

ゲームのキャラとして
personとして説明します。

文法だけ覚える程度で読んで頂ければ
幸いです。

クラスの定義

c#
class クラス名
{
処理
}

サンプルソース
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

}
}

class person
{

}

}

vb
Class クラス名
処理
End Class

サンプルソース
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

End Sub

Class person

End Class
End Class

objectとインスタンス

定義したpersonクラスを使用するには
クラスのオブジェクトを作成しなければいけません。
インスタンスともいいます。

クラス名 オブジェクト変数名 = new クラス名();

person taro = new person();

クラス メンバー変数

personクラスに変数を書いていこう。
変数をまとめるだけなら構造体でも
いいんだけどクラスの中で使う時
はクラス内に普通書きますよね。
メンバー変数ともいうしフィールドともいいます。

変数の宣言は基本的に同じです。

int age;
string name;

年齢と名前を書きました。

変数のスコープは
特に記述しなけば
privateになります。

するべきではないですが
publicをつけて外部からアクセスできるようにできます。

c#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
person taro = new person();
Console.Write(taro.age);

}
class person
{
public int age;
string name;
}

}
}

実行結果は
0が表示されます。

vb
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim taro As New person
Console.Write(taro.age)
End Sub

Class person
Public age As Integer
Dim name As String
End Class
End Class

実行結果は
0が表示されます

PR



 - C# 入門

Translate »