Pythonでは、クラスを定義するためにclassキーワードを使用します。クラスはデータと機能を組み合わせる方法を提供し、新しいオブジェクトの型を作成し、その型を持つ新しいインスタンスが作れます。
クラスを定義する基本的な書き方は以下のようになります。
class クラス名:
# クラス定義
クラス定義の中には、コンストラクタ、属性、メソッドなどが含まれます。
コンストラクタ
Pythonでは、コンストラクタは__init__メソッドとして定義します。第一引数はselfで、それぞれのインスタンスを指します。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
上記の例では、Personという名前のクラスを定義し、コンストラクタでnameとageという二つの引数を受け取ることを定義しています。
メソッド
メソッドは、クラスが持つ機能を定義します。以下に、show_infoというメソッドを持つPersonクラスの例を示します。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show_info(self):
print('%s (%d)' % (self.name, self.age))
このshow_infoメソッドでは、nameとageという二つの属性にセットされた値を出力しています。
継承
Pythonでは、既存のクラスを基に新しいクラスを作ることができます。これをクラスの継承といいます。以下に、Personクラスを継承してEmployeeクラスを作る例を示します。
class Employee(Person):
def __init__(self, name, age, company):
Person.__init__(self, name, age)
self.company = company
このEmployeeクラスでは、Personクラスの全ての機能を継承しつつ、新たにcompanyという属性を追加しています。
以上がPythonでクラスを定義する基本的な方法です。これらの知識を使って、Pythonでのオブジェクト指向プログラミングを進めていきましょう。.