Pythonベース-マルチステート

822 ワード

文書ディレクトリ
  • Pythonベース-マルチステート
  • Pythonベース–マルチステート
  • マルチステート:同類オブジェクトの多様な形態
  • マルチステートを実装するには
  • 新しいサブクラス
  • を定義する
  • 対応する親メソッド
  • を書き換える
  • は、子クラスのメソッドを用いて直接処理する、親クラスを呼び出さないメソッド
  • である.

    Personは親クラスでありpalyとdanceのメソッドを内蔵しているが,OldManとYouManの2つのサブクラスは親クラスPersonのdanceメソッドを呼び出したくなく,自分の同名danceメソッドを実行する必要があり,これを と呼ぶ.
    class Person:
        def dance(self):
            print("    ,    ")
    
        def play(self):
            print("   disc")
            self.dance()
            print("     ")
    
    
    class OldMan(Person):
        def dance(self):
            print("     ,      ")
    
    
    class YouMan(Person):
        def dance(self):
            print("          ")
    
    
    daxia = Person()
    daxia.play()
    
    laowang = OldMan()
    laowang.play()
    
    xiaozhang = YouMan()
    xiaozhang.play()