PHP继承
2018-08-26 17:31:17来源:博客园 阅读 ()
PHP继承
这是一篇迟来的更新,因为它应该在前两天就被更新了,但是由于我英语四级没过!没过!没过!导致我心情低落,所以就玩了几天的游戏,哦不,进行了几天反思,痛定思痛 痛何如哉!
以下都是我个人的理解,有错的地方还望不吝赐教。
为什么需要继承?
继承就是 一个子类通过extends父类把父类的属性和方法继承下来。
假设现在现在需要写两个类,小学生类和高中生类,小学生会说话,走路,考试,高中生也会说话走路,考试,那么如果你写两遍说话,走路,考试,那么就会显得臃肿,管理起来也会麻烦很多,如果定义一个类叫做学生类包含说话,走路,考试,然后让小学生类和高中生类来继承这个学生类就会显得好很多,比如这样。
<?php
class student{
function speak(){
echo '说话';
}
function walk(){
echo '走路';
}
function test(){
echo '考试';
}
}
class pupil extends student{
function test(){
echo '小学生考试';
}
}
class senior extends student{
function test(){
echo '高中生考试';
}
}
$pupil=new pupil();
$pupil->speak();
$pupil->walk();
$pupil->test();
echo '<br />';
$senior=new senior();
$senior->speak();
$senior->walk();
$senior->test();
?>
输出:
说话走路小学生考试
说话走路高中生考试
这样代码管理起来就会好很多。
假设现在小学生要学习一个新的技能吃东西,我现在这样写。
<?php
class student{
function speak(){
echo '说话';
}
function walk(){
echo '走路';
}
function test(){
echo '考试';
}
}
class skill{
function eat(){
echo '吃东西';
}
}
class pupil extends student,skill{
function test(){
echo '小学生考试';
}
}
$pupil=new pupil();
$pupil->speak();
$pupil->walk();
$pupil->test();
$pupil->eat();
?>
如果这样写,那么就会报错:
Fatal error: Class 'studentskill' not found in D:\xampp\htdocs\1.php on line 18
因为php中是不能这样实现多继承的,如果想要实现多继承可以这么写:
<?php
class student{
function speak(){
echo '说话';
}
function walk(){
echo '走路';
}
function test(){
echo '考试';
}
}
class skill extends student{
function eat(){
echo '吃东西';
}
}
class pupil extends skill{
function test(){
echo '小学生考试';
}
}
$pupil=new pupil();
$pupil->speak();
$pupil->walk();
$pupil->test();
$pupil->eat();
?>
输出:
说话走路小学生考试吃东西
先用一个skill类继承student类,然后再用pupil类继承skill类,这样就相当于pupil类继承了student类和skill类。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:强化记忆之php
下一篇:tp5.1的安装与运行流程
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash