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

xiaoxiao2021-02-27  370

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 不存在向上转型

转载请注明原文地址: https://www.6miu.com/read-2592.html

最新回复(0)