この記事ではPythonにおけるクラス(class)の基本的な使い方について解説していきます。
クラス(class)とは?
クラスとは、Pythonでオブジェクト指向プログラミングを実現したい時に利用するメソッドです。
オブジェクト指向プログラミングについてはこちらを参考ください。
簡単に言うとこのクラスを作ることによって、ある一つの物体を定義して汎用的に必要することができます。
例えば、「車」をクラスとして定義しておくと「種別Aの車」と「種別Bの車」が同じソースコードを利用して属性情報(車種や、色など)を定義したり、振る舞い(走る、止まるなど)を使用できます。
つまり、物体を定義するためのテンプレートになります。
クラス(class)の実装方法
# 車のクラス
class Car:
# 車の持つ機能
# エンジンをかける
def Drive(self):
print("boooo!")
# クラクションを鳴らす
def Horn(self):
print("poooo!")
# 車のクラスを使えるようにする
car = Car()
# エンジンをかける
car.Drive()
# クラクションを鳴らす
car.Horn()
class クラス名:
クラスを定義することが可能です。
またクラスの中に関数を作成することで、そのクラスの機能を実装することができます。
変数名 = クラス名()
クラスを利用するためには、インスタンス化ということをする必要があります。
今まであくまで「定義」として実装していたものを、利用状態にします。
インスタンス化を行い、変数にクラスの実体を格納します。
クラス変数
クラスの中に変数をあらかじめ定義することが可能です。
# 車のクラス
class Car:
# 車種
vehicle type = "toyota"
クラスの初期化
クラスのインスタンス化がされるタイミングでデフォルトの値を設定したい際は、「.__init__()」を使用することで実現できます。
class Car:
def __init__(self, horn):
self.horn = horn
toyota = Car('boooon!!')
print(toyota.horn)
mazda = Car('pooooo!!')
print(mazda.horn)
継承
クラスには親クラスと子クラスという形で機能を分けて、継承を行うことで、親クラスの機能が子クラスでも使えるようになります。
class Parent:
def output(self):
print("Parent")
class Child(Parent):
def output(self):
print("Child")
# 親クラスも同じメソッドを持っていて、親クラスのメソッドを利用したい場合はsuper()を利用する
super().output()
child = Child()
child.output()
#Child
#Parent
スポンサーリンク