Beispiel #1
0
// 创建父类
$p1 = new Person("jack", 23);
echo $p1->getAge() . '<br/>';
Person::showNation();
var_dump($p1);
// 调用父类的静态方法
Person::getSpeed();
Person::SpeedUp();
// 调用受保护的方法
echo $p1->showList();
// 创建子类
$a1 = new Actor();
var_dump($a1);
// unset($a1);
// 调用子类的静态方法
Actor::start();
/* 如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,
       在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象 
*/
class Car
{
    private function __construct()
    {
        echo 'object create';
    }
    private static $_object = null;
    public static function getInstance()
    {
        if (empty(self::$_object)) {
            self::$_object = new Car();
            //内部方法可以调用私有方法,因此这里可以创建对象