首页 > php面向对象 > PHP 面向对象 继承

PHP 面向对象 继承

继承关键词:extends

<?php
class A {
    private $n;
    protect $m;
    public function GetName($k) {
        return strtolower($k);
    }
}
class B extends A {
    public function GetName($k) {
        return "B类返回" . $k;
    }
}
?>

1.这里B类继承A类,如果A类有构造函数而B里没有构造函数,创建B类对象时将调用A类的构造函数,如果B类有自己的构造函数则调用自己的构造函数.

2.继承只适用于继承父类里 protect 和public 所限制的访问修饰符,对于private 修饰符不被继承.

3.子类可以重载父类里的属性,方法,当B类重载了 GetName 方法后,
$b=new B();     $b->GetName("张三") 将优先调用B类中重载的GetName()方法,如果想在子类对象中调用父类的方法时,可以使用 A::GetName("张三")  即可(前面加上 父类名::)

4.当函数前面申明 final 关键字时,子类将不能对此函数进行重载.

5.当类前面加申明 final ,此类将不能被子类继承.

6.PHP不支持多重继承,也就是说一个类只能有唯一的一个父类

7.类的对象可以使用clone 关键字克隆一个一模一样的引用副本到本地(有相同的属性和方法)
如果在克隆的时候不希望得到被克隆类相同的属性或者方法,需要在被克隆类里实现 __clone() 方法,该方法就像构造函数一样,是在被克隆的时候调用的,里面可以定义自己在类被克隆时要初始化的属性及方法.

本文地址:http://www.phprm.com/mxdx/fs157.html

转载随意,但请附上文章地址:-)

标签:php面向对象继承 extends

发表留言