演習課題「サブクラスのメソッドを定義」
右側のコードエリアには、クラス PersonalComputer
のサブクラス Laptop
が用意されています。
サブクラス Laptop
をスーパクラスにしたサブクラス PaizaBook
を定義してください。
期待する出力値
8 128 jis
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#08:サブクラスをさらに継承
このチャプターでは、サブクラスをさらに継承させる方法を学習します。
- サブクラスを継承させて、サブクラスのサブクラスを定義することができる
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def add_age(self, year):
self.age += year
class Programmer(Person):
def __init__(self, name, age, language):
super().__init__(name, age)
self.language = language
self.languages = {language}
def learn(self, language):
self.languages.add(language)
print(f"{language} を学習しました!")
class StudentProgrammer(Programmer):
pass
- StudentProgrammer クラスは、祖先のクラスであるスーパークラスの Programmer クラスとスーパークラスのスーパークラスの Person クラスの属性をすべて引き継ぐ
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def add_age(self, year):
self.age += year
class Programmer(Person):
def __init__(self, name, age, language):
super().__init__(name, age)
self.language = language
self.languages = {language}
def learn(self, language):
self.languages.add(language)
print(f"{language} を学習しました!")
class StudentProgrammer(Programmer):
pass
kirishima = StudentProgrammer("Kirishima", 15, "Ruby")
print(kirishima.name)
print(kirishima.language)
- StudentProgrammer クラスのスーパークラスのメンバ変数 language とスーパークラスのスーパークラスのメンバ変数 name を使うことができる
ログインすると採点できます
コードの実行