hq金水

愿你是阳光,明媚不忧伤~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

面向对象特性之继承、多态

Posted on 2016-06-07 09:18  hq金水  阅读(140)  评论(0编辑  收藏  举报

继承特点:

子类继承父类的一切

单继承,即子类只能继承一个父类。

实例:

class ren
{
    public $name;
    public $sex;
    public $age;
    function __construct($a)
    {
        $this->name=$a;
    }
    
    function say()
    {
        echo $this->name."正在讲话";
    } 
}
class american extends ren
{    public $ziben;
    function say()//对父类方法进行重写
    {
        parent::say();//调用父类的方法
        echo "就喝喝酒";
        }
    }
class china extends ren
{    public $shehui;
    function say()
    {    
        parent::say();
        echo "经济技术";
        }
}

$r=new american("胡");
var_dump($r);
$r->say();
$r->ziben="资本主义";
echo $r->ziben;

$r=new china("");
var_dump($r);
$r->say();
$r->shehui="社会主义";
echo $r->shehui;

 

多态:当父类的引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的方法的时候表现出来的不同。

条件:

1、必须有继承

2、子类必须对父类进行重写

3、父类引用指向子类实例

$r=new american();
$r->say();
$r=new china();
$r->say();
//同一个方法显示出不同的结果