C#のクラスにおけるメンバー関数とは?定義方法と使い方を実例で解説
メンバー関数とは
クラスのメンバー関数(メソッド)とは、クラス定義の中でその定義やプロトタイプ(宣言)が記述される関数のことです。変数と同様にクラス内に宣言され、そのクラスのオブジェクトに対して操作を行います。また、そのオブジェクトが持つすべてのメンバー(フィールドやプロパティなど)にアクセスすることができます。
以下は、メンバー関数の定義例です。
public void setLength(double len) {
length = len;
}
public void setBreadth(double bre) {
breadth = bre;
}C#でのメンバー関数へのアクセス方法
次のサンプルコードは、C#でメンバー関数を定義し、実際にアクセスする方法を示したものです。
サンプルコード
using System;
namespace BoxApplication {
class Box {
private double length; // 箱の長さ
private double breadth; // 箱の幅
private double height; // 箱の高さ
public void setLength(double len) {
length = len;
}
public void setBreadth(double bre) {
breadth = bre;
}
public void setHeight(double hei) {
height = hei;
}
public double getVolume() {
return length * breadth * height;
}
}
class Boxtester {
static void Main(string[] args) {
Box Box1 = new Box(); // Box型のBox1を宣言
Box Box2 = new Box(); // Box型のBox2を宣言
double volume;
// Box1 の寸法を設定
Box1.setLength(8.0);
Box1.setBreadth(9.0);
Box1.setHeight(7.0);
// Box2 の寸法を設定
Box2.setLength(18.0);
Box2.setBreadth(20.0);
Box2.setHeight(17.0);
// Box1 の体積を取得して表示
volume = Box1.getVolume();
Console.WriteLine("Volume of Box1 : {0}", volume);
// Box2 の体積を取得して表示
volume = Box2.getVolume();
Console.WriteLine("Volume of Box2 : {0}", volume);
Console.ReadKey();
}
}
}実行結果
Volume of Box1 : 504 Volume of Box2 : 6120
このように、メンバー関数を利用することで、クラス外部からは直接アクセスできないプライベートなフィールドに対して、安全に値の設定や計算を行うことができます。上記の例では、setLength・setBreadth・setHeight の各メソッドで箱の寸法を設定し、getVolume メソッドで体積を計算しています。
メンバー関数はオブジェクト指向プログラミングの中心的な概念であり、データ(フィールド)とそれを操作する処理(メソッド)をひとつのクラスにまとめることで、カプセル化を実現し、保守性の高いコードを書くことができます。
-
C#のクラスとは?基本構文からサンプルコードまで徹底解説
C#におけるクラスとは、データ型の「設計図(ブループリント)」に相当するものです。クラスをもとに生成された実体をオブジェクトと呼び、オブジェクトはクラスのインスタンスであるといえます。また、クラスを構成するメソッドや変数は、まとめてクラスのメンバーと呼ばれます。クラスの一般的な定義形式C#でクラスを定義する際の一般的な書式は以下のとおりです。<アクセス修飾子> class クラス名 { // メンバー変数 <アクセス修飾子> <データ型> 変数1; &
-
Pythonでクラスを使うメリットとは?関数との使い分けのポイントを解説
Pythonにおけるクラスの役割クラスは、コードを汎用的で再利用可能な部品として整理するための仕組みです。うまく設計されたクラスは、ほとんど修正を加えることなく何度も使い回せる「再利用可能なコードのかたまり」となります。このクラスという概念は、生物学にヒントを得ています。生物が「特徴(属性)」と「能力(メソッド)」をひとまとめに持つように、クラスもデータと振る舞いを一体として表現できるのです。関数とクラスの使い分けデータそのものが処理の中心となる場合は、シンプルな関数が適しています。一方、属性(データ)とメソッド(処理)のセットを複数の場所で繰り返し使いたい場合には、クラスが威力を発揮します。