基底クラスとサブクラス
メニューを表示するにはスワイプしてください
Pythonにおける継承の実装は、**基底クラス(親)とサブクラス(子)**によって行われる。
基底クラスは一般的なプロパティや動作を定義し、サブクラスはこれらの特徴を継承し、独自の機能を追加できる。
123456789101112131415161718192021222324252627282930class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
Employee は基底クラスです。すべての従業員が共有するデータを保持します。Manager と Developer は Employee のサブクラスです。これらは基底クラスからすべてを自動的に継承するため、同じコードを再記述する必要はありません。
super() の呼び出しは基底クラスのコンストラクタを実行し、name と salary が正しく設定されます。各サブクラスは独自のデータを追加します:
Managerはdepartmentを追加Developerはlanguageを追加
両方のサブクラスは get_info() もオーバーライドします。super().get_info() で基底バージョンを再利用し、その結果に独自の詳細を追加します。
ノート
これにより、基底クラスは基盤となり、サブクラスは柔軟性を追加する特化した実装となります。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 2