Pythonでオブジェクトを作成するには,クラスを定義します.
これは,C++やC#といった他のプログラミング言語でも同様です(クラスの定義方法は若干異なりますが,オブジェクトはクラスを定義することで作成します).
まず,例題として,ファンクション・ジェネレータを表すFuncGenクラスを定義することにします.この場合,クラスの定義は,
class FuncGen:
# FuncGenクラスの定義の本体(インデントを付けて実装します)
となります(関数の時は def 関数名(引数): だったのと同じです).
一方,定義したFuncGenクラスを使うには,
funcgen = FuncGen()
とします.
ここで,Pythonを紹介する資料では,Pythonのクラスに関して,必ず,
インスタンス
という言葉が出てきます.
このインスタンスとは,上記の,funcgenとなります.
funcgen(インスタンス)は,FuncGen(クラス)を実体化したものであり,FuncGen(クラス)は定義したものであること(両者は役割が異なります)に注意して下さい.
インスタンスという言葉が出てきたら,それは,上記のfuncgenのように,クラスを実体化したものであるとイメージして下さい.
Pythonスクリプトでは,FuncGenクラスを実体化したfuncgenインスタンスに対して,FuncGenクラスで定義された関数(例えば,set_voltageやget_frequencyなど)を呼び出すことになります.
funcgen.set_voltage(volt) # 電位の設定
freq = funcgen.get_frequency() # 周波数の取得
いきなり難しい概念が出てきましたが,今回は,
クラスとインスタンスの関係
のみイメージしてもらえば結構です.
次の投稿でも,難しい概念が続きますが,今しばらく我慢して下さい.
ホーム
/
紹介/オブジェクト指向
/
0 件のコメント:
コメントを投稿