<?php class A { private $p = "A::p"; function showA() { echo $this->p . "\n"; } } class B extends A { public $p = "B::p"; function showB() { echo $this->p . "\n"; } } $a = new A(); $a->showA(); $b = new B(); $b->showA(); $b->showB();
<?php class A { private static $p = "A::p (static)"; static function showA() { echo self::$p . "\n"; } } class B extends A { public static $p = "B::p (static)"; static function showB() { echo self::$p . "\n"; } } A::showA(); B::showA(); B::showB();