深入探讨PHP类的继承

开发 后端
PHP类的继承就向生儿育女一眼,你可以把它看作是编程世界中的遗传。下面我们将对PHP类的继承做一个详细的介绍,希望对大家有所帮助。

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

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

首先在了解了继承的一些活生生的原理后,我想再来看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();  
?> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.

解析:在我们的***个使用继承的范例里使用了PHP的构造函数中所提到的构造函数和PHP类的封装中的关键字,如果有什么不明白的就去看看吧!我可不想再多说了,中午没想睡觉呀.说说这段小程序吧。

在类的father里,我们定义了一般的特征,比如人的名字,人要吃饭和睡觉,然后在它的子类(后代)我们定义一个个性化的方法(playing),毕竟人与人之间是有不同的地方吧。我们使用构造函数来初始化这个人名,当然也使用了析构函数来“消灭”掉对象,但你可能没有发现在子类里内是没有构造函数和析构函数的,所以子类是继承了父的所有方法,要不然你怎么能$my_son->go_to_sleeping();这样调用呢,这就是PHP类的继承了。
 

责任编辑:曹凯 来源: helpphp.cn
相关推荐

2009-12-02 16:46:18

PHPMailer

2010-07-21 09:38:15

PHP缓存技术

2009-12-01 16:34:21

PHP表单

2009-12-07 13:55:58

PHP array_m

2011-02-25 09:23:00

Java类加载器

2009-12-01 15:48:12

提高PHP运行效率

2009-12-02 11:20:56

PHP命令行参数

2009-12-07 19:06:20

PHP mysql_f

2009-12-23 16:13:00

WPF Attache

2009-12-07 11:21:59

PHP生成缩略图

2009-12-10 13:14:26

PHP下拉框

2010-03-31 14:58:03

云计算

2024-04-01 13:05:13

C++接口类开发

2010-11-22 14:18:32

MySQL锁机制

2021-05-17 05:36:02

CSS 文字动画技巧

2009-11-20 17:17:08

Oracle函数索引

2025-01-10 09:28:25

2009-12-01 10:11:51

PHP自动获取关键词

2009-10-16 18:20:07

综合布线系统

2023-10-23 12:35:36

Golang追加操作
点赞
收藏

51CTO技术栈公众号