Python オブジェクト指向(再)(3)
継承とは
- 既に作成したクラスとほとんど同じだが、少しだけ違うクラスを実装したいとき、既存のクラスのフィールドやメソッドを引き継いだ新しいクラスを作成することができる。
- このとき、既存のクラスのことを「スーパークラス」新たに作成したクラスのことを「サブクラス」と呼ぶ。
- サブクラスがベースクラスの機能を引き継ぐことを継承と呼ぶ。
実習(1)
問題(1)
Leaderクラスに部下の最大人数を表すmax_memberフィールドを追加しなさい。- 初期値は
3となるようにコンストラクタに引数を加えなさい。 - 管轄している部下を表す辞書型のオブジェクト
membersをコンストラクタで定義しなさい。最初は空です。
問題(2)
Leaderクラスに部下を追加するメソッドadd_memberを作成しなさい。引数はEmployeeのmember。このメソッドはmembersフィールドに格納された部下の数がmax_member未満であればmemberで指定された部下をフィールドmembersに追加する。そうでない場合はエラーメッセージを出す。Leaderクラスから部下を削除するメソッドdel_memberを作成しなさい。引数は文字列のid。このメソッドはmembersフィールドに格納された部下のうち、社員番号にidを持つものをフィールドmembersから削除する。該当者がいなければエラーメッセージを出す。Leaderクラスのshowメソッドを自分と部下の情報を出すようにしなさい。出力例は次の通り
社員名:管理職 太郎, 社員番号:x18-000, 部署:カスタマーサポート, 部下:2人
<部下リスト>
社員名:工大 太郎, 社員番号:x18-001
社員名:工大 次郎, 社員番号:x18-031
問題(3)
app.pyにおいて、管理職を新たに作成し、部下を 3 人追加してその情報を表示するプログラムを作成しなさい。from leader import Leaderをapp.pyの先頭に追記する必要があります。