跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Php面向对象 – 继承和重写_PHP教程

php面向对象 – 继承和重写php面向对象 – 继承和重写

继承:

php中,通过在类上,使用特殊的操作达到目的。

立即学习“PHP免费学习笔记(深入)

”;

通过在定义类时,利用extends来指明当前类对象继承那个类的对象。

例子:

class C{public $p_c = “value c”;}class D extends C{public $p_d = “value d”;}$o = new D;var_dump($o->p_c) var_dump($o->p_d)输出:string(7) “value c” string(7)“value d”

继承,指的是两个对象之间,那么哪有这两个对象?

Instanceof 操作符 (判断对象是否是某类的实例) var_dump($o instanceof D);输出:bool(true) var_dump($o instanceof C);输出:bool(true)因此,一个对象即是当前类的实例,也是该类所继承类的实例。

Class D extends C D类对象,继承自C类对象。

父类:被继承的类,C类子类:需要继承的类,D类基类:C类是D类的基类扩展类:D类是C类的扩展类。

重要:

php是单继承。

继承的目的:

在于扩展,或者使用某类已经存在的操作和数据。

重写 override继承时,如果发生成员冲突,php的处理方式,为重写。就是子类同名成员覆盖父类同名成员。不能看到父类的同名成员。

例子:

1.

class P{public $name = ‘P’;}class C extends P{public $name = “C”;}$o = new C;echo $o->name;

2.

class P{public $name = ‘P’;public function sayName(){echo‘parent::name’,$this->name;}}class C extends P{public $name = “C”;public function sayName(){echo‘self::name’,$this->name;}}$o = new C;$o->sayName();输出:self::name C

构造方法重写:

例子:

class P{public__construct(){echo“parent::construct”;}}class D extends P{public__construct(){echo“self::construct”;}}$o =new D;输出:self::construct如果需要,强制执行被重写的父类方法,可以显示的使用父类来调用相应的父类方法即可:

例子:

class P{public__construct(){echo“parent::construct”;}}class D extends P{public__construct(){P::__construct();echo“self::construct”;}}$o =new D;输出:parent::construct self::construct可以使用一个关键字,在类内,代替当前的父类parent关键字

例子:

class P{public__construct(){echo“parent::construct”;}}class D extends P{public__construct(){parent::__construct();echo“self::construct”;}}$o =new D;如果说父类的构造需要相应的参数,则需要在调用时,将父类构造方法需要的参数传递到方法内。

例子:

class Goods{public $goods_name ;public $goods_price;public function __construct($name,$price){$this->goods_name= $name;$this->goods_price= $price;}}class GoodsBook extends Goods{public $pages;public function __construct($name,$price,$pages){parent::__construct($name,$price);$this->pages= $pages;}}http://www.bkjia.com/PHPjc/871196.html www.bkjia.com true http://www.bkjia.com/PHPjc/871196.html TechArticle php面向对象 – 继承和重写 php面向对象 – 继承和重写 继承: php中,通过在类上,使用特殊的操作达到目的。 通过在定义类时,利用exte...

相关文章