代码之家  ›  专栏  ›  技术社区  ›  fire

父类变量

  •  0
  • fire  · 技术社区  · 14 年前

    以下是我的基本示例:

    class Foo {
    
        public $toy = "car";
    
        public function run() {
            $this->toy = "train";
            $bar = new Bar();
            $bar->run();
        }   
    }
    
    class Bar extends Foo {
        public function run() {
            echo $this->toy;
        }
    }
    
    $foo = new Foo();
    $foo->run();
    

    因为某种原因,它总是回响汽车而不是火车。原因是什么?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Felix Kling    14 年前

    Bar Foo::run Foo

    static

    class Foo {
    
        public static $toy = "car";
    
        public function run() {
            self::$toy = "train";
            $bar = new Bar();
            $bar->run();
        }   
    }
    
    class Bar extends Foo {
        public function run() {
            echo self::$toy;
        }
    }
    
        2
  •  2
  •   Kiril Kirov    14 年前

    Foo Bar toy car

        3
  •  0
  •   KingCrunch    14 年前

    parent::run();