php面向对象 之 多态--重写覆盖
来源:互联网 发布:java字符串赋值 编辑:程序博客网 时间:2024/04/29 00:51
<?phpclass a{function cry(){echo'你哭了';}}class b extends a{function cry(){echo'你妹的';}}$a=new b();$a->cry();?>
这里 子类class b 继承了 父类class a;
但是相对的 class b中 有一个cry 方法 所有 这里b实例化后 会优先调用 class b的cry 所以会输出 你妹的;
还有 如果class b要实现覆盖 必须 方法名和传递的参数必须一致 如下 cry里传递了 参数这样便会报错了
<?phpclass a{function cry(){echo'你哭了';}}class b extends a{function cry($a){echo'你妹的';}}$a=new b();$a->cry();?>此时 class b中 方法便被改变掉了 默认不会和父类 class a中的覆盖 但是 又由于 class b中 已经继承了 class a所以 class b 里面会出现两个名称一样的方法
即 cry();cry($a) 同一个类中出现两个相同的方法 所以会报错;
(ps【如果子类想覆盖父类的方法 子类的权限必须大于父类的权限 即 若父类为protected function cry(),子类必须为 public function cry()】;private只能本类调用 所以不去考虑)
如果子类已经重写或覆盖 父类方法后 还想调用父类的方法 则可以
<?phpclass a{function cry(){echo'你哭了';}}class b extends a{function cry(){echo'你妹的';a::cry();}}$a=new b();$a->cry();?>直接指定父类类名::cry();即可
后续继续补充.....
0 0
- php面向对象 之 多态--重写覆盖
- PHP面向对象编程之--多态:方法重载与重写
- PHP面向对象之重写与重载
- PHP面向对象之重写与重载
- php面向对象之重写与重载
- PHP面向对象之方法重写
- PHP面向对象之重写与重载
- php面向对象之重写(override)
- Java面向对象笔记(十一)重写、覆盖
- PHP面向对象之重写与重载-129
- PHP面向对象之方法重写与重载
- 面向对象概念 重载与重写(重写又称覆盖)
- Php面向对象 – 继承和重写
- PHP之面向对象
- Java面向对象之重载和重写
- Java面向对象之继承和重写
- 面向对象之抽象与重写
- PHP 面向对象编程之深入理解方法重载与方法覆盖
- STM32存储器
- Linux fstab自动挂载分区教程
- JAVASE课程 第一章 第四讲方法,数组,java新特性
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- UIImagePickerController
- php面向对象 之 多态--重写覆盖
- 计算两点间的距离
- 用json类型的result组件实现异步校验
- 判断指定的Activity是否是最上层的
- 用Eclipse签名并发布APK
- GetSafeHwnd()和GetSafeHandle()的主要区别(对窗口句柄和窗口指针区分有详细讲解)
- learn to code
- EXCEL2007如何调出规划求解加载项
- Jquery双击事件不触发执行单击事件解决方法