【C#】オブジェクト指向プログラミング

C#言語によるオブジェクト指向プログラミングについてソースコード付きでまとめてみました。

【C#】オブジェクト指向プログラミングとは

オブジェクト指向とは、関連するデータのやそれに対する処理を「オブジェクト」と呼ばれる1つのまとまりで管理する考え方です。
この考え方に沿ってプログラミングすることを「オブジェクト指向」プログラミングといいます。

オブジェクト 関連するデータや処理を1つにまとめたモノ。
指向 ある方向・目的に向かうことです。(オブジェクト指向なら、オブジェクトの考え方に重きを置くこと)

例えば、パソコンをオブジェクトとして考えてみます。

コンピュータ内部のアルゴリズムや電気的な仕組みを理解しなくても、マウスやキーボードの使い方だけを知っていればパソコンを使うことができます。
「パソコン」というオブジェクトは、自身を動作させるための処理を知っています。
それを利用するためには、キーボードやマウスで指示すれば良いです。
このように「データ」と「操作するための処理(メソッド)」を組み合わせが「オブジェクト」です。

オブジェクト指向プログラミングとは(概念・対応言語など)
この記事では、オブジェクト指向プログラミングの概要について解説します。

【class文】クラス生成

C#では、class文を使ってクラスを生成します。

【書式】

class クラス名
{
ここにメソッドなどを記述
} 

【C#】クラスの生成(宣言・定義)
この記事では、C#のclass文でクラスの生成(宣言・定義)する方法についてソースコード付きで紹介します。

【field】フィールド修飾子

フィールド修飾子(field modifiers)とは、フィールドの性質を指定するものです。
クラスの宣言時に、フィールド修飾子を指定することで、他のクラスからのアクセスを不可能にしたり、逆に可能にしたりできます。
フィールド修飾子を省略して記述すると、他のクラスからアクセスできなくなります。

【書式】

フィールド修飾子 class クラス名
{
.....
} 
修飾子 意味 内容
public 公開 どこからでもアクセス可能
private 非公開 同一クラス内のみアクセス可能
internal 内部 自分自身のアセンブリ内部のクラスからのみ見える
protected 保護 派生クラスからアクセス可能
protected internal 内部保護 派生クラス or 自分のアセンブリ内部のクラスからアクセス可能

【参考】アクセス修飾子 一覧


上記の例ではpublicを指定したので、他のクラスから自由にアクセスできます。

【C#】クラスとフィールド修飾子
この記事では、C#のクラスとフィールド修飾子の関係についてソースコード付きで紹介します。

【new演算子】インスタンス生成

C#では、 new演算子(new operator)を用いてインスタンスを作成します。new 演算子を用いてインスタンスを生成するには、以下のようなオブジェクト作成式(object creation expressions)を記述します。
オブジェクト作成式

【書式】

型 インスタンス名 = new 型() 

型にはclass名を入れます。


【C#】インスタンスの生成
この記事では、C#でインスタンスを生成する方法についてソースコード付きで紹介します。

【インスタンス変数】メンバ変数

インスタンス変数とは、インスタンス内のみで使えるローカル変数です。
メンバ変数とも呼ばれます。

C#では、class文内でstatic修飾子を指定せずに宣言された変数はインスタンス変数となります。


【C#】インスタンス変数(メンバ変数)の宣言・定義
この記事では、C#でインスタンス変数(メンバ変数)を定義・宣言する方法についてソースコード付きで紹介します。

【インスタンス変数】値の取得

インスタンス変数とは、インスタンス内のみで使えるローカル変数です。
メンバ変数とも呼ばれます。

C#では、インスタンス変数の値を取得するのに演算子「.」を使います。

【書式】

インスタンス名.変数名 

【C#】インスタンス変数の値を取得
この記事では、C#でインスタンス変数(メンバ変数)の値を取得する方法についてソースコード付きで紹介します。

【インスタンス変数】代入

インスタンス変数とは、インスタンス内のみで使えるローカル変数です。
メンバ変数とも呼ばれます。

C#では、以下のようにしてインスタンス変数にアクセスして値を代入できます。

【書式】

インスタンス名.変数名 = 値 

【C#】インスタンス変数に値を代入
C#でインスタンス変数に値を代入する方法についてソースコード付きで紹介します。

【コンストラクタ】初期化メソッド

インスタンス変数とは、生成されたインスタンス内のみで使える変数です。
通常、インスタンス毎に異なる値を持たせたい場合に利用します。

インスタンスの生成時にインスタンス変数に値をセット(初期化)できます。
これを行うクラス内のメソッドをコンストラクタ(初期化メソッド) といいます。

C#では、以下のようにしてクラス文内にコンストラクタを定義し、インスタンス変数に値をセットします。
【書式】
/

/ コンストラクタ
フィールド修飾子 クラス名(引数)
{
インスタンス変数 = 引数;
} 

【C#】インスタンス変数の初期化(コンストラクタ)
この記事では、C#でインスタンス変数をコンストラクタで初期化する方法についてソースコード付きで紹介します。

【method】メソッドの定義・呼び出し

メソッド(method)とは、クラスが持つ関数のことです。
メソッドには操作・処理の内容を記述します。

C#では、以下のようにしてクラス文内にメソッドを定義します。

【書式】

フィールド修飾子 型 メソッド名(引数)
{
処理内容
} 

メソッドの呼び出し方は以下の通りです。

【書式】

インスタンス名.メソッド名(引数) 

【補足】
上記の例では「this.name」「this.type」はTypeFubukiクラス内で定義されたインスタンス変数「name」「type」を表します。
このように、「this.」が付いた変数は、 インスタンス自身を格納する変数となります。
「this.」が付いていない「name」「type」 は、コンストラクターの引数として定義された変数です。

【C#】メソッドの定義・呼び出し
この記事では、C#でメソッドの定義と呼び出し方法についてソースコード付きで紹介します。
【C#入門】基礎文法とサンプル集
C#言語の基本文法・使い方をサンプルプログラムのソースコード付きで解説します。

コメント

タイトルとURLをコピーしました