类学习记之----类中属性的重写
来源:互联网 发布:seo外包服务 编辑:程序博客网 时间:2024/06/08 04:59
<?php
class one{
//public $yes='USA';
public $name='one';
public $pass='OK';
function out(){
echo 'hello world';
}
}
class two extends one{
// public $name='six'; //不能这样写: $this->name='six';
function out(){//虽然在这里重写了父类中的out()方法,但父类中的out()方法并不会受到影响,看下面的调用就知道了
echo $this->pass;//此类中没有pass属性,于是去父类one中找
echo"</br>";
$this->yes='china';//只在two类中起作用,这就是所谓类的扩展
return $this->name='two'; }
}
$two=new two();
echo $two->out();
echo "</br>";
echo $two->name;
echo "</br>";
$one=new one();
$one->out();
echo "</br>";
echo $one->name;
echo "</br>";
$one->out();
echo $one->yes;
//因为one类中的属性yes被注释掉了,所以会出现错误提示
//类中属性和方法的重写就是从父类中复制出你想要的属性或者方法,在子类中,你想怎么改它的属性都不会影响到父类中的属性,当你调用子类中不存在 的属性时,则它会去父类中找看有没有你要调用的属性,如果父类中也没有,则会给出一个错误提示,除非你在调用的时候创建一个属性并赋值,这样才不会出错, 但此时你在子类中创建的属性是属于子类的,它并不会在父类中创建
//我有一个印钱机,从我这里印出来的钱,随你在钱上怎么画都不会影响这个印钱机结构,你在钱上画上一只老虎,那你钱上就会多了一只老虎(扩展),我再印下一张钱的时候,印出来的钱还是印钞机图案中原来的样子
//还有就是在重写父类中的属性或方法时,子类中的访问权限不能比父类中的属性或方法要严格,比如说父类中的方法为public而你在子类中不能为private,而且必须与父类中的属性或方法同名,参数类型和个数不作限制
?>
- 类学习记之----类中属性的重写
- Swift基础语法: 30 - Swift的基类, 子类, 重写, 重写方法, 重写属性, 防止重写
- 黑马程序员之C#学习笔记: c#中重写(覆盖)和隐藏类的方法
- Java学习篇之自定义类的相关重写方法
- URL重写中,重写Form的Action属性。
- Object类学习之equals方法重写
- c#中重写属性
- C#中类的方法重写
- 类中重载和重写的区别
- Java中类的继承和重写
- QT类中keyPressEvent函数的重写
- 大龙的学习笔记之“虚方法,抽象方法,重写,抽象类,接口”
- Checklists学习日志之父类、子类、继承、重写
- iOS学习之——button重写方法改变button中图片文字的位置
- java学习之重写
- Mybatis学习之mapper映射文件中属性的含义
- OC学习日记04-OC中类的属性
- Scala学习回顾(六)---- Scala中的继承:超类的构造、重写字段、重写方法
- 适合C/C++初学者阅读的源码
- wine Chinese setting
- PHP实例程序:实现给上传图片加水印图案的做法
- 初学 ASP.NET AJAX (一):构建 ASP.NET AJAX 开发环境
- createElement
- 类学习记之----类中属性的重写
- 数据库乱码问题的解决办法
- 谷歌OpenSocial网站正式上线
- java.util.Porperties 类的使用
- insertBefore 与 appendChild
- JSP中实现分页
- 移动增值业务新人入职培训
- 2008年北京地铁规划图
- 消息称GPhone今日发布 揭秘幕后教父(图)