PHP面向对象继承的概念
2016-07-02 21:13
741 查看
====笔记部分====
继承: 是指以一个类为父类,另一个类可以做为其子类,子类在继承了父类的属性/方法的基础上,
进一步增添或修改.
<?php /**** 代码部分 ****/ // 定义3个类, 人类, 学生类,律师类 class Human { private $height = 160; public function cry() { echo '5555<br />'; } } class Stu { private $height = 170; public $snun = '00134'; public function cry() { echo '59啊59....<br />'; } public function study() { echo 'good good study, day day up<br />'; } } /* 老友记 long time no see you don't bird me,I don't bird you! */ class Lawer { private $height = '180'; public $area = '经济案件'; public function cry() { echo '5555<br />'; } public function bianhu() { echo '我的当事人是无罪的<br />'; } } $zhoukou = new Human(); $zhoukou->cry(); $xiaoming = new Stu(); $xiaoming->cry(); $xiaoming->study(); $lizhuang = new Lawer(); $lizhuang->cry(); $lizhuang->bianhu(); ?>
/****
思考:
1: 学生和律师 归根结底还是人!
自然,人的属性和方法,自然就有
2:学生和律师,虽然是人,但比最原始的人,
又多了一些属性和方法.
而我们目前写的3个类,
完成了第2点: 即有原始人的属性,又有学生/律师的独特属性
但是,没有很好的利用上第1点:
即:既然是人,那默认就应该有人的属性,何必再重新声明一遍???
这里的代码,就已经冗余!
如何达到 学生/律师 默认就有人的属性,达到代码的重用和简洁?
答: 继承
****/
====笔记部分====
继承语法: extends
子类 extends 父类 {
}
注意点: 子类 只能继承自 一个父类
不能这样写:
subClass extends Dog,Cat,Pig {
}
<?php /**** 代码部分 ****/ class Human { private $height = 160; public function cry() { echo '5555<br />'; } } // 再声明一个学生类,学生本质上还是人 // 只不过是人类中,稍微特殊一点的一个群体. // 即:人类的基础上,衍生出学生类. // 可以让学生类 继承自 人类 class Stu extends Human{ } $zhoukou = new Human(); $zhoukou->cry(); /**/ $lily = new Stu(); $lily->cry(); $lily->laugh(); /* 思考: 在学生类中 cry 与 laugh方法 都没定义 为什么cry方法调用成功 laugh方法调用失败! 答:因为Stu类 继承自 Human类 现实中,继承的例子更多. 你同事高帅富,某天开了个宝马. 他没有宝马,但是他爹有宝马. */ ?>
相关文章推荐
- PHP manual 【类与对象】
- zend studio导入svn项目后不能代码提示的解决
- PHP删除文件夹
- PHP复制文件夹
- [php-src]扩展中封装业务与 call_user_function 的使用建议
- 安装Puppet
- dede5.7配置Sphinx支持typeid、mid
- php 删除文件夹
- php 文件操作
- Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
- 为什么你的 phpinfo() 无法显示
- php的preg_split的正则函数preg系列?
- Laravel 5.1 使用短信验证码插件laravel-sms
- php语法错误害死人啊
- PHP多文件上传
- php中抽象类在其方法中例化其子类来完成对自己方法的调用
- PHP dirname() 返回路径中的目录部分basename() 函数返回路径中的文件名部分。
- php如何确保多个进程同时写入一个文件成功
- thinkphp自带的验证码出现的问题
- php curl 多线程方法