php子类继承父l类例子,PHP类实例教程(八):类的继承

继承是面向对象最重要的特点之一,就是可以实现对类的复用。

通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。

继承而产生的类叫做子类。

被继承的类,叫做父类,也被成为超类。

PHP是单继承的,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。

从子类的角度看,它“ 继承(inherit , extends)”自父类;而从父类的角度看,它“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。

子类不能继承父类的私有属性和私有方法。

在PHP5中类的方法可以被继承,类的构造函数也能被继承。

继承的简单例子

我们分析自然界中的关系,动物类与犬类的关系。

class Animal{

private $weight;

public function getWeight(){

return $this->weight;

}

public function setWeight($W){

$this->weight = $W;

}

}

class Dog extends Animal{

}

?>

当我们实例化animal类的子类Dog类时, 父类的方法setWeight() 和 getWeight() 被继承。

我们可以直接调用父类的方法设置其属性$weight,取得其属性$weight 。

// ……….

$myDog = new Dog();

$myDog->setWeight(20);

echo "Mydog's weight is " . $myDog->getWeight() . "
";

$myDog->Bark();

?>

构造函数的继承

有些资料上说PHP5的构造函数不被继承。演示的结果证明,PHP5的构造函数被继承了。当子类Dog1被实例化时,继承的构造函数被调用了,屏幕上显示了一句 “I am an Animal.”。

class Animal{

public $legNum = 0;

public function __construct(){

$this->legNum = 4;

echo "I am an animal
";

}

}

class Dog1 extends Animal{

}

$dog1 = new Dog1();

echo "
";

echo "legNum is " . $dog1->legNum;

/*

实例化子类时,构造函数被调用了。

*/

?>

私有变量和方法不被继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值