クラスの利用方法について
2.2 クラスの利用方法について
前節ではクラスの記述方法について学習しました。これまで何度も説明を行ってきましたが、「クラスはオブジェクトを生成する雛形」になります。本節ではクラスを利用してオブジェクトを生成する方法について、実際のソースコードを記述し学習していきましょう。
2.2.1 オブジェクト化(インスタンス作成)の方法
クラスからオブジェクト(インスタンス)を生成するには以下の手順が必要です。
① 変数の宣言と同時に、オブジェクト(インスタンス)を作成します。
1)オブジェクト実体をメモリに確保します。(オブジェクトを作成する処理を行うと自動で行われます。)
2)オブジェクトを扱う変数にオブジェクト実体の場所情報(メモリ領域の住所)を代入します。
② オブジェクトを作成した後は、生成時に代入した変数を用いてオブジェクトを扱っていきます。
以下のComputerクラスが定義されていることを前提条件として、上記1)と2)について説明を行っていきます。
Computerクラス
class Computer : def __init__(self): self.os = "Windows" self.memory = 32 def start(self): #起動処理 print(‘起動しました。’) def finish(self) : #終了処理 print(‘終了しました。’) def beep(self) : #音を鳴らす処理 print(‘音を鳴らしました。’)
解説
このComputerクラスはstr型の「os、cpu」、int型の「memory」の3つの変数を宣言し、メソッドは戻り値、引数ともに無しの「start()、finisih()、beep()」の3つ定義しています。
変数3つとメソッド3つを持つクラスとなっています。
オブジェクト化の手順1)を行う為の基本構文を下記に示します。
書式:オブジェクトを扱う変数の宣言
上記は「変数の宣言と同時に、新しいオブジェクト(インスタンス)の生成」を意味しています。
前節で示したサンプルのクラス「Computer」を例にします。上記の例では、「変数comを宣言すると同時に、代入する」という処理を行っています。この代入処理を行うと変数comを使って、Computerクラスのオブジェクト(インスタンス)を扱うことができるようになります。このことを、変数comはComputerクラスのオブジェクトをさすといいます。
図 2.2.1: オブジェクトを扱う変数とオブジェクトの作成
ポイント
- オブジェクト作成方法は変数を使って、宣言すると同時にを用いて、雛形であるクラスの名前を代入することで、オブジェクトを生成する。
ではオブジェクト内にある変数やメソッドにアクセスするのはどうすれば良いか、次の節にて説明していきます。