php中重写理解

我们经常听到面向对象的三大特性:封装、继承、多态,但是还有许多特性,那么我们是否记得重写呢?在学习的时候简单的记录了下php中等重写方法:

1)先通过例子看下,这样更加明了

<?php

//定义父类(也可以称为基类)
class Goods {
public $goods_name = 'Goods:name';

public function sayName() {
echo $this->goods_name;
}

}
//定义子类(也可以成为扩展类)
class Book extends Goods {
public $goods_name='Book:name';
public function sayName() {
echo 'run in book';
}
}
//实例化对象
$b1 = new Book;

//输出run in book,因为子类重写了父类的sayName()方法
$b1->sayName();

下章总结下php中的重写调用...

时间: 2024-11-03 22:46:19

php中重写理解的相关文章

在实践中深入理解IP协议

0.说明         TCP/IP协议栈其实当然不止有TCP和IP两个协议,但以这两个协议作为这个协议栈的统称,足以体现出其在TCP/IP协议栈中的重要性,正是因为有了IP协议,才使得不同网络间可以进行通信.当然要提及IP协议,其实还需要分析与其相关的配套协议,如ICMP.IGMP.ARP,这些协议与IP协议的关系可如下:         不过这里我们只关注于IP协议中的各个字段内容,其它的协议分析可以参考本专题博客文章.         下面就来结合搭建的网络环境,通过一些手段来深入理解I

tag-android中重写键盘按下触发的事件的问题,Log是一个什么对象,i是一个什么方法,哪里来的

问题描述 android中重写键盘按下触发的事件的问题,Log是一个什么对象,i是一个什么方法,哪里来的 //重写键盘按下触发的事件 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { super.onKeyDown(keyCode,event); Log.i(TAG, "onKeyDown方法被调用"); return true; } 解决方案 要看Log在哪里定义的.这是一个自定义的类,你在eclips

对象-java中如何理解这个数据类型 List&amp;amp;lt;Map&amp;amp;lt;String, Object&amp;amp;gt;&amp;amp;gt;

问题描述 java中如何理解这个数据类型 List<Map<String, Object>> 话说我现在只能理解int void string long 等等基本数据类型呢 List> 是一个引用数据类型吗 应该如何理解呢 解决方案 这个变量本质是一个List类型,指定了List中的元素类型是Map ,这个是泛型,但是编译后会泛型擦除还原成List. 解决方案二: 1) 第一层,一个列表,可以用 类似于 list[i] 的方式来访问. 2) 第二层,这个列表中的每个元素都是一

博客专题计划:《在实践中深入理解常见网络协议》

为什么要写这个系列的技术博文:         距离学习CCIE的课程已经有近一年的时间,虽然这一年来已经丢下了挺多关于路由交换技术的知识,不过随着这一年时间以来通过对Linux和Python的学习研究和学校相关课程的学习,对于TCP/IP的理解是越来越清晰,至少可以慢慢形成自己的想法,于是想借此机会,整理一下过去的思绪,撰写<在实践中深入理解常见网络协议>的博客专题.         写博客已有近一年的时间,慢慢地也形成了自己写博文的一种风格,有一大部分也获得了许多网友的肯定,包括51cto

在实践中深入理解ARP协议

0.说明         在同一个网络(无特别说明,均指以太网络)中进行通信的主机,必须要拥有目标主机的MAC地址才能够正确地将数据发送给目标主机,那么如何知道目标主机的MAC地址呢?可以通过ARP协议.ARP协议就是用来获取目标IP地址所对应的MAC地址的,也就是说,ARP协议可以动态地在三层IP地址和二层MAC地址之间建立一种映射关系.可以用如下示意图来形象表示其作用:         可以看到上面的图示是把ARP协议划分到网络层,也既是认为它是一个网络层的协议,这是出于它为网络层的IP协议

eclipse-在android中重写方法有没有快捷键?

问题描述 在android中重写方法有没有快捷键? 环境:Eclipse,android的框架类中,一般重写一个Activity中的方法需要通过下面的方法: 打开Source->Override/Implement Methods->croll list,check box,然后点击OK. 有没有快捷键可以省去这么麻烦的步骤? 解决方案 Alt+Shift+S, V 所有的键盘快捷键都可以在config中找到.

java中如何理解这种初始化类实例的方式,我只懂new的方式

问题描述 java中如何理解这种初始化类实例的方式,我只懂new的方式 java中public boolean setViewValue(Viewarg0,Object arg1){ImageView imageView =(ImageView)arg0 Bitmap bitmap=(Bitmap)arg1}如何理解这种初始化类实例的方式,我只懂new的方式 解决方案 这种构造方法是将 依赖的成员对象作为构造函数的参数传进入来的,而传人时还是需要new的啊. 解决方案二: 这没有什么别的,只是a

对象-java中compareTo函数可以在同一个类中重写多次吗?

问题描述 java中compareTo函数可以在同一个类中重写多次吗? 我有一个对象数组,想按照不同属性对这个数组进行排序.但是如果重写compareTo函数的话好像只能按照某一个属性进行排序.现在我既想按照年龄又想按照分数排序,那应该怎么写呢? 解决方案 不行,一个Comparable对应一种顺序标准,你这样按年龄又按分数,明显是两个定制顺序,结果自然是两种.建议要么合成一个逻辑:要么用两个集合来存放.

选项菜单-Android Activity中重写onCreateOptionsMenu不显示菜单按钮

问题描述 Android Activity中重写onCreateOptionsMenu不显示菜单按钮 在做选项菜单时,菜单一直无法显示,后来有人说是因为sdk版本的问题,但是改了还是不行,所以求助 解决方案 最后return true了吗 解决方案二: 重装系统咯.......