深入探讨PHP类的继承

PHP类的继承在PHP语言的学习中是一个比较重要的知识点。那么我们该如何正确的学习PHP类的继承呢?在PHP面向对象编程里,类的继承永远是最关键的。

这就像人类生儿育女一样(为什么一定要生儿育女呢,难道就是为了防老!不得而知呀),你把自己的一些基因和你老婆的基因各拿出来一些,再生成一个新的个体,这个新的个性一定会包含你们两个人身上的特征,这就是生物上关于遗传(继承)的一个解说。在编程的世界是这个遗传就是继承!

首先在了解了继承的一些活生生的原理后,我想再来看PHP类的继承是不是不再那么神秘。或许它本来就不神秘,是因为我们自己太复杂了吧。要有继承就得有一个“根源”,这“根源”你可能想像你以后生了儿子或者女儿,他们会从你这里得到一些“东西(属性和方法)”,这样你的“后代”就是持有你的(根源)所有一些特征了。下面通过语法来描述一下这个在PHP的面向对象中是怎么表达吧(不可能像人类那么直接啦,结婚,过段时间你的后代就产生了)

1.产生“根源”类(父类或者基类)

语法:class father{

}

1.产生“后代”(子类)

语法:class son extends father{

}

说明:父类只是一个平常的类,要想有后代你只需要在平常类后加一个extends关键字就OK了,这样你的子类只拥有了父类所有的属性和方法了。其实就是这么简单罢了。

下面让我们做点实际点事情吧,毕竟PHP类的继承中定义一个父类和子类是要完成某个任务的吧!在这里这个任务比较单调,就拿人来说,人有名字(属性),人要睡觉还要吃饭(方法)。我们就用这个基本的任务要完成本节的知识吧。

< ?php   


class father{   


protected $name;   


function __construct($name){   



$this->name=$name;   



}   


function __destruct(){   



echo "< p>{$this->name}也是要死的< br/>< /p>";   



}   


//这个就是所谓的构造函数,用来初始化   


function go_to_sleeping(){   



echo "< p>{$this->name}想睡觉.< /p>";   



}   


function eat(){   



echo "< p>{$this->name}想吃饭.< /p>";   



}   


}   


class son extends father{   


function playing(){   


//小孩子会很调皮的,当然他也是要吃要睡的生物   



echo "< p>{$this->name}正在捣蛋...< /p>";   



}   


}   



$your_father=new father("老爸");   




$your_father->go_to_sleeping();   




$your_father->eat();   




$my_son=new son('宝贝');   




$my_son->go_to_sleeping();   




$my_son->eat();   




$my_son->playing();   




?>   




< ?php  



class father{  


protected $name;  


function __construct($name){  



$this->name=$name;  



}  


function __destruct(){  



echo "< p>{$this->name}也是要死的< br/>< /p>";  



}  


//这个就是所谓的构造函数,用来初始化  


function go_to_sleeping(){  



echo "< p>{$this->name}想睡觉.< /p>";  



}  


function eat(){  



echo "<p>{$this->name}想吃饭.</p>";  



}  


}  


class son extends father{  


function playing(){  


//小孩子会很调皮的,当然他也是要吃要睡的生物  



echo "< p>{$this->name}正在捣蛋...< /p>";  



}  


}  



$your_father=new father("老爸");  




$your_father->go_to_sleeping();  




$your_father->eat();  




$my_son=new son('宝贝');  




$my_son->go_to_sleeping();  




$my_son->eat();  




$my_son->playing();  




?> 

相关推荐