/***
====笔记部分====
重写/覆盖 override
指:子类重写了父类的同名方法
重载: overload
重载是指:存在多个同名方法,但参数类型/个数不同.
传不同的参数,调用不同的方法
但是在PHP中,不允许存在多个同名方法.
因此,不能够完成java,c++中的这种重载
但是,PHP的灵活,能达到类似的效果
***/
/****
代码部分
****/ class human{
public function say($name){
echo $name,' 吃了吗?<br />';
}
} class stu extends human{ public function say(){
echo '切克闹,卡猫百比<br />';
}
/*
public function say($a,$b,$c){
echo '哥仨好';
}
报错:
Fatal error: Cannot redeclare stu::say() in D:\wamp\www\php\61.php on line 28
在PHP中,不允许存在多个同名方法,没有重载概念这一说。
*/
} $li=new stu();
$li->say();
$li->say('binghui');// 上面这个过程叫重写override!
/*
结果:
切克闹,卡猫百比
切克闹,卡猫百比
*/ //在PHP中模拟重载的方法
class Calc {
public function area() {
// 判断一个调用area时,得到的参数个数
$args = func_get_args();
if(count($args) == ) {
return 3.14 * $args[] * $args[];
} else if(count($args) == ) {
return $args[] * $args[];
} else {
return '未知图形';
}
}
}
$calc = new Calc();
// 计算圆的页面
echo $calc->area(),'<br />';
// 计算矩形的面积
echo $calc->area(,);

PHP面向对象之重写与重载的更多相关文章

  1. Java入门 - 面向对象 - 02.重写与重载

    原文地址:http://www.work100.net/training/java-override-overload.html 更多教程:光束云 - 免费课程 重写与重载 序号 文内章节 视频 1 ...

  2. Java之旅_面向对象_重写和重载

    参考并摘自:http://www.runoob.com/java/java-override-overload.html 重写(Override) 子类对父类(允许访问的)方法的实现过程进行重新编写, ...

  3. php面向对象的重写与重载

    重写: 就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法. 有以下几点要求: 1.当一个父类和子类有一个方法, ...

  4. PHP面向对象——重写与重载

    重写/覆盖           override 指:子类重写了父类的同名方法 class Human{    public function say($name){           echo $ ...

  5. JavaSE基础知识(5)—面向对象(方法的重写与重载)

    一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以 ...

  6. Java 面向对象之继承和重写OverWrite,重写和重载的区别,抽象类

    01继承的概述 A:继承的概念 a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 b:在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作 ...

  7. Java中重写与重载的辨析

    摘要:在我们学习Java过程中,重写与重载使我们在面向对象里要学习的重要知识点之一,那我们看看它们有那些区别: 一.重写 1.概念:简单的说就是子类将从父类继承而来的方法重新实现一次. 2.特点: ① ...

  8. java_重写与重载的区别

    重写与重载的区别 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念.但是对于新手来说也比较容易混淆.本文通过两个简单的例子说明了他们之间的区别. 定义 重载 ...

  9. Java基础(七):重写与重载

    一.重写(Override): 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是 ...

随机推荐

  1. 关于C#中Partial局部类型关键字的使用

    虽然之前在做Winform开发时候,经常遇到Partial关键字,但是最近在代码中看到使用Partial将同名类文件写在多个源文件中,因此想要记录下Partial的详细使用. Partial type ...

  2. Python命令行执行.py文件提示ModuleNotFoundError:No module named 'XXX'解决办法

    原因:在命令行执行.py文件找不到包是因为我们没有把项目路径保存,可以通过sys.path.append()保存项目路径,执行后就能成功. ############################## ...

  3. Python学习-第三节part1: 关于函数

    一 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一管理且维护 ...

  4. 201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求链接 https://www.cnblogs.com/nwnu-da ...

  5. PHP中涉及文件路径的讨论

    #1 $_SERVER中的PHP_SELF,当前执行脚本的文件名,与 document root 有关.例如,在地址为 http://example.com/test.php/foo.bar 的脚本中 ...

  6. django-rest-framework限流

    django-rest-framework限流 在项目根目录下新建utils的文件 新建throttling.py from django_redis import get_redis_connect ...

  7. 页面DIV弹出层 JS原生脚本

    <script type="text/javascript"> /*         * 弹出DIV层         */ function showDiv() { ...

  8. python3(三十五)file read write

    """ 文件读写 """ __author__on__ = 'shaozhiqi 2019/9/23' # !/usr/bin/env py ...

  9. vueThink框架搭建与填坑(new)

    自己跟着官网搭建vueThink框架,发现github上文档有很多坑.所以总结一下(仅针对WIN端下载使用) 1.安装node.js 前端部分是基于node.js上运行的,所以必须先安装node.js ...

  10. webWMS开发过程记录(三)- 需求分析(略)

    行业:汽车零部件制造 大方向:非唯一码,需有一套简单.易用.受控的误操作撤回机制 现状(略) 目标(略) 注:由于项目是自己根据以往经验,自己开发的,且开发时间不固定,故需求分析暂略,我会把工作重点放 ...