<?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();
?>