类的定义和调用
在这里我们首先定义一个People类
<?php class People { public function __construct() { echo "hi<br/>"; }//这里是析构函数,在类的实例创建的时候就执行。 public function sayHello(){ echo "hello<br/>"; }//定义类的成员函数 } ?>
然后我们在main函数中创建一个People类的实例,调用成员方法sayHello。
<?php require_once "People.php"; $p = new People(); $p->sayHello(); ?>
运行,可以看到输出结构为 hi Hello
接下来我们在定义一个类方法,类方法多用来描述类的相关特性,用以说明类的相关特征,而成员方法多用来描述类的实例。
<?php class People { public function __construct() { echo "hi<br/>"; } public function sayHello(){ echo "hello<br/>"; } public static function describe() { echo "the object is about People<br/>"; }//类方法 } ?>
在主函数中调用
<?php require_once "People.php"; $p = new People(); $p->sayHello(); People::describe(); ?>
类的继承和重写父类
<?php class Man extends People { } ?>Man继承了父类所有的方法,在主函数中为Man创建一个实例。
<?php require_once "People.php"; require_once "Man.php"; $p = new People(); $p->sayHello(); People::describe(); $m = new Man(); $m->sayHello(); ?>
我们发现,该实例可以执行父类中的函数。
<?php class Man extends People { public function sayHello() { echo "I'm a man"; } } ?>在这里我们重写sayHello函数,再次在主函数中运行,发现sayHello的输出结果为 I'm a man。