继承 多态
2016-06-06 22:45
417 查看
<?php
//特性二
//继承:子类可以继承父类的一切
//特点:单继承
//父类
class Ren
{
public $name;
public $sex;
public $yvyan;
function Say()
{
echo $this->name."正在讲话!";
}
}
//美国人的子类
class America extends Ren
{
public $ziben;
//重写:子类对父类的方法进行重写
function Say()
{ //1.重写(非完全重写)追加 parent::方法,调用父类的Say()方法;
parent::Say();//调用父类的
echo "hello!";//这是子类自己的
}
}
//中国人的子类
class China extends Ren
{
public $shehui;
public $wumai;
//2.重写(完全重写,覆盖)
function Say()
{
echo "你好";
}
}
$a=new America();
$a->Say();
$c=new China();
$c->Say();
//var_dump($a);
//特性三
//多态
//条件:1.必须要继承。2.子类要对父类的方法进行重写。3.父类引用指向子类实例
//概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的地方的时候表现出来的不同。
//父类>子类,原理类似double a=10; double可以是整形,而int不能是浮点型,大类包含子类
/*用c#举例
Ren r=new China();
r->Say(); //你好
Ren r=new America();
r->Say(); //hello!*/
//在PHP语句中,多态表现不出来
$r=new China();
$r->Say();
$r=new America();
$r->Say();
?>
//特性二
//继承:子类可以继承父类的一切
//特点:单继承
//父类
class Ren
{
public $name;
public $sex;
public $yvyan;
function Say()
{
echo $this->name."正在讲话!";
}
}
//美国人的子类
class America extends Ren
{
public $ziben;
//重写:子类对父类的方法进行重写
function Say()
{ //1.重写(非完全重写)追加 parent::方法,调用父类的Say()方法;
parent::Say();//调用父类的
echo "hello!";//这是子类自己的
}
}
//中国人的子类
class China extends Ren
{
public $shehui;
public $wumai;
//2.重写(完全重写,覆盖)
function Say()
{
echo "你好";
}
}
$a=new America();
$a->Say();
$c=new China();
$c->Say();
//var_dump($a);
//特性三
//多态
//条件:1.必须要继承。2.子类要对父类的方法进行重写。3.父类引用指向子类实例
//概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的地方的时候表现出来的不同。
//父类>子类,原理类似double a=10; double可以是整形,而int不能是浮点型,大类包含子类
/*用c#举例
Ren r=new China();
r->Say(); //你好
Ren r=new America();
r->Say(); //hello!*/
//在PHP语句中,多态表现不出来
$r=new China();
$r->Say();
$r=new America();
$r->Say();
?>
相关文章推荐
- 语义和语法结构之间的关系
- jQuery-AJAX
- 归档和备份及相关命令详解
- php 操作mysql 基本函数
- HttpClient4.X发送带参数的POST请求
- ImageView图片圆形显示
- Activity 数据回传
- Java IO包装流如何关闭?
- [Android] Fragment 的生命周期
- xcode KVC:Key Value Coding 键值编码
- 异步上传文件
- 二叉排序树的创建,查找,插入,删除
- [Leetcode]172. Factorial Trailing Zeroes
- 2048等待写java版本
- 剑指Offer----面试题28----扩展:字符的所有组合
- Android学习笔记之活动间的数据传递
- UILabel 的高亮状态
- 2016第24周一
- 第二次冲刺阶段每日任务10
- AngularJS 自定义指令