演習課題「クラスの中のメソッドを呼び出す」
右のコードでは、Greetingクラスの中に、say_helloメソッドとsay_yeahメソッドを定義しています。
say_helloメソッドを呼び出すと「hello paiza」と表示されて、say_yeahメソッドを呼び出すと「YEAH YEAH YEAH!」と表示されます。
「hello paiza」に続けて、「YEAH YEAH YEAH!」と表示されるようコードを書き換えてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
YEAH YEAH YEAH!
演習課題「親クラスのメソッドを呼び出す」
右のコードでは、Greetingクラスでsay_helloメソッドを定義して、Helloクラスでsay_helloメソッドをオーバーライドしています。
Helloクラスでsay_helloメソッドを書き換えて、「hello paiza」に続けて、「YEAH YEAH YEAH!」と表示されるようにください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
YEAH YEAH YEAH!
#06:クラスからメソッドを呼び出してみよう
ここでは、Pythonのクラスでの、いろいろなメソッド呼び出しについて学習します。
class Player:
def __init__(self, name):
self.name = name
def attack(self, enemy):
print(self.name + "は、" + enemy + "を攻撃した!")
class Wizard(Player):
def __init__(self):
super().__init__("魔法使い")
def attack(self, enemy):
self.__spell()
print(self.name + "は、" + enemy + "に炎を放った!")
def __spell(self):
print("ズバーン!")
print("=== パーティーでスライムと戦う ===")
hero = Player("勇者")
# hero.attack("スライム")
warrior = Player("戦士")
wizard = Wizard()
party = [hero, warrior, wizard]
for member in party:
member.attack("スライム")
# wizard.__spell()
【Python入門】クラスのインスタンス変数を隠す(プライベート変数)
https://pycarnival.com/mangling/
プライベートメンバ - Python学習講座(__変数名による隠蔽)
http://www.python.ambitious-engineer.com/archives/323
クラス — Python 3.6.5 ドキュメント(プライベート変数・名前マングリング)
https://docs.python.jp/3/tutorial/classes.html#private-variables