java转php 关于向上转型和多态解惑

php中的多态
php中的多态,有与php是弱类型语言,在定义对象时,不存在类型 如定义一个类A的对象$a = new A() 没有给对象a声明类,故在运行时,当调用a的方法时,是一定会调用A中的方法,这样来看,php是本身就是多态的,所以也就不存在多态。
但是如下代码:

interface Person
{
    public function method();
}

class Student implements Person
{
    public function method()
    {
        echo 'student';
    }
}

class Teacher implements Person
{
    public function method()
    {
        echo 'Teacher';
    }
}

class Context
{
    public function test(Person $person)
    {
        $person->method();
    }
}

$context = new Context();
$context->test(new Student());
$context->test(new Teacher());

输出结果
这里写图片描述

综上,可见php是有多态的,只不过没有java强烈

2.php的向上转型
php 不存在向上转型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值