Program List:用变量在类定义外部访问
01 |
|
02 |
<?php |
03 |
class Fruit { |
04 |
const CONST_VALUE = 'Fruit Color'; |
05 |
} |
06 |
|
07 |
$classname = 'Fruit'; |
08 |
echo $classname::CONST_VALUE; // As of PHP 5.3.0 |
09 |
|
10 |
echo Fruit::CONST_VALUE; |
11 |
?> |
Program List:在类定义外部使用::
01 |
|
02 |
<?php |
03 |
class Fruit { |
04 |
const CONST_VALUE = 'Fruit Color'; |
05 |
} |
06 |
|
07 |
class Apple extends Fruit |
08 |
{ |
09 |
public static $color = 'Red'; |
10 |
|
11 |
public static function doubleColon() { |
12 |
echo parent::CONST_VALUE . "\n"; |
13 |
echo self::$color . "\n"; |
14 |
} |
15 |
} |
16 |
|
17 |
Apple::doubleColon(); |
18 |
?> |
1 |
Fruit Color Red |
Program List:调用parent方法
01 |
|
02 |
<?php |
03 |
class Fruit |
04 |
{ |
05 |
protected function showColor() { |
06 |
echo "Fruit::showColor()\n"; |
07 |
} |
08 |
} |
09 |
|
10 |
class Apple extends Fruit |
11 |
{ |
12 |
// Override parent's definition |
13 |
public function showColor() |
14 |
{ |
15 |
// But still call the parent function |
16 |
parent::showColor(); |
17 |
echo "Apple::showColor()\n"; |
18 |
} |
19 |
} |
20 |
|
21 |
$apple = new Apple(); |
22 |
$apple->showColor(); |
23 |
?> |
1 |
Fruit::showColor() |
2 |
Apple::showColor() |
Program List:使用作用域限定符
01 |
|
02 |
<?php |
03 |
class Apple |
04 |
{ |
05 |
public function showColor() |
06 |
{ |
07 |
return $this->color; |
08 |
} |
09 |
} |
10 |
|
11 |
class Banana |
12 |
{ |
13 |
public $color; |
14 |
|
15 |
public function __construct() |
16 |
{ |
17 |
$this->color = "Banana is yellow"; |
18 |
} |
19 |
|
20 |
public function GetColor() |
21 |
{ |
22 |
return Apple::showColor(); |
23 |
} |
24 |
} |
25 |
|
26 |
$banana = new Banana; |
27 |
echo $banana->GetColor(); |
28 |
?> |
1 |
Banana is yellow |
Program List:调用基类的方法
01 |
|
02 |
<?php |
03 |
|
04 |
class Fruit |
05 |
{ |
06 |
static function color() |
07 |
{ |
08 |
return "color"; |
09 |
} |
10 |
|
11 |
static function showColor() |
12 |
{ |
13 |
echo "show " . self::color(); |
14 |
} |
15 |
} |
16 |
|
17 |
class Apple extends Fruit |
18 |
{ |
19 |
static function color() |
20 |
{ |
21 |
return "red"; |
22 |
} |
23 |
} |
24 |
|
25 |
Apple::showColor(); |
26 |
// output is "show color"! |
27 |
|
28 |
?> |
1 |
show color |
|
|
















