クラスを実装する (シンプルなクラスの実装) - Python
Pythonでクラスを実装するコードを紹介します。
概要
クラスを実装するには、class キーワードを利用します。
書式
クラス本体
class クラス名(object):
[クラスの実装]...
メソッド
クラスメソッドでは引数がない場合でも、第一引数にself を記述します。
引数がない場合
class クラス名(object):
def メソッド名(self):
[メソッドの実装]
引数がある場合
class クラス名(object):
def メソッド名(self, 引数1, 引数2, ...):
[メソッドの実装]
コンストラクタ、メンバ変数
コンストラクタは
__init__
というメソッド名で記述することでコンストラクタの動作になります。メンバ変数はコンストラクタ内に
self.変数名
の書式で記述します。
class クラス名(object):
def __init__(self):
self.変数名 = 初期値
プログラム例
class MyClass(object):
"""description of class"""
def __init__(self):
self.value1 = 0
self.value2 = 0
def proc(self):
return self.value1 + self.value2
import MyClass
mclass = MyClass.MyClass()
mclass.value1=120
mclass.value2=64
result = mclass.proc()
print(result)
解説
MyClass.py
下記のコードがコンストラクタです。value1, value2 の2つのメンバ変数を宣言し、値を0で初期化しています。
def __init__(self):
self.value1 = 0
self.value2 = 0
下記のコードがprocメソッドの実装部分になります。procメソッドではvalue1とvalue2 の値の合計を戻り値として返します。
def proc(self):
return self.value1 + self.value2
callClass.py
MyClassファイルをインポートすることでMyClassが実装されているファイルへアクセスできる状態にします。
import MyClass
クラスのインスタンスを作成します。
ファイル名.クラス名()
の記述でクラスのインスタンス生成ができます。戻り値にインスタンス化されたクラスオブジェクトが戻ります。
mclass = MyClass.MyClass()
クラスオブジェクトのメンバ変数に値を代入します。value1 メンバ変数に120を、value2 メンバ変数に64を代入します。~
mclass.value1=120
mclass.value2=64
クラスオブジェクトのprocメソッドを呼び出し戻り値を取得します。取得した戻り値をprintメソッドを呼び出してコンソールに出力します。
result = mclass.proc()
print(result)
実行結果
プログラムを実行します。value1とvalue2に設定した値の合計値である 184が画面に表示されます。
Pythonでクラスの実装ができました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用