php中多态的应用有哪些,什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点?

用户投稿 157 0

关于“php中多态的应用”的问题,小编就整理了【3】个相关介绍“php中多态的应用”的解答:

什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点?

多态就是多重状态。

比如有一个父类superClass,它有2个子类subClass1,subClass2。

superClass有一个方法func(),两个子类都重写了这个方法。

那么我们可以定义一个superClass的引用obj,让它指向一个子类的对象,比如superClass obj = new subClass1();那么我们调用obj.func()方法时候,会进行动态绑定,也就是obj它的实际类型的func()方法,即subClass1的func()方法。

同样你写superClass obj = new subClass2();obj.func()其实调用的是subClass2的func()方法。

这种由于子类重写父类方法,然后用父类引用指向子类对象,调用方法时候会进行动态绑定,这就是多态。

多态对程序的扩展具有非常大的作用,比如你要再有一个subClass3,你需要改动的东西会少很多,要是使用了配置文件那就可以不动源代码了。

PHP的strtok()函数实例应用?

逐一分割字符串:

在下例中,请注意,我们仅在第一次调用 strtok() 函数时使用了 string 参数。在首次调用后,该函数仅需要 split 参数,这是因为它清楚自己在当前字符串中所在的位置。如需分割一个新的字符串,请再次调用带 string 参数的 strtok():

<?php

$string = "Hello world. Beautiful day today.";

$token = strtok($string, " ");

while ($token !== false)

{

echo "$token<br>";

$token = strtok(" ");

}

?>

PHP abstract抽象类定义与用法示例?

PHP抽象类应用要点:

1.定义一些方法,子类必须完全实现这个抽象中所有的方法

2.不能从抽象类创建对象,它的意义在于被扩展

3.抽象类通常具有抽象方法,方法中没有大括号

PHP抽象类应用重点:

1.抽象方法不必实现具体的功能,由子类来完成

2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义

3.抽象类的方法可以有参数,也可以为空

4.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

示例:

//作用:抽象类不实现具体方法,具体方法由子类完成。

//定义抽象类 abstract

abstract class A{

//abstract 定义抽象类的方法,这里没有花括号。子类必须实现这个抽象方法。

abstract public function say();

//抽象类可以有参数

abstract public function eat($argument);

//在抽象类中可以定义普通的方法。

public function run(){

echo '这是run方法';

}

}

class B extends A{

//子类必须实现父类的抽象方法,否则是致命的错误。

public function say(){

到此,以上就是小编对于“php中多态的应用”的问题就介绍到这了,希望介绍关于“php中多态的应用”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!