程序世界中对象的继承,是从现实世界中事物对象的分类和共性抽象而来的。比如:公司雇员是一个类,包括名字、年龄、工资、工龄等属性,公司里还有主管、CEO等,他们也属于公司雇员,只是比普通雇员多了些权限和工作内容,那么主管、CEO类就可以继承雇员类。
<?php class Employee{ private $name; private $age; private $wages; public setName($name){ $this->name = $name; } // setter 略... public getName(){ return $this->name; } // getter 略... } class Executive extends Employee{ public operate(){ echo "经营管理!"; } // 其它方法略... } class CEO extends Executive{ public manage(){ echo "管理公司!"; } // 其它方法略... }
PHP中使用extends关键字表示继承,上例中,由于Executive具有Employee的成员,所以Executive继承Employee后,自然具有了Employee的成员,这样增加了重用性。(关于继承的访问权限请看《PHP面向对象——访问修饰符》)
PHP中子类的构造方法不会自动调用父类构造方法(与java不同),请《PHP面向对象——构造函数、析构函数》