1.面向过程的程序设计
面向过程的编程就是这样有条理的按照顺序来逐步实现用户需求。面向过程的编程(OPP)优点是程序顺序执行,流程清晰明了。它的缺点是主控程序承担了太多的任务,各个模块都需要主控程序进行控制和调度,主控和模块之间的承担的任务不均衡。有的人把面向过程定义为:算法 + 数据结构,我觉得也很准确。面向过程的编程中算法是核心,数据处于从属地位,数据随算法而流动。所以采用面向过程的方式进行编程,一般在动手之前,都要编写一份流程图或是数据流图。
例:hello.php
print "Hello world"; //打印Hello world
?>
结果:
更具体的例子:procedure.php
function inc() //创建一个自加函数inc()
{
$i = 0;
$i = $i + 1;
return $i;
}
function add($x)//创建一个加法运算函数add() 形参$x
{
$j = 0;
$j = $j + $x;
return $j;
}
$k = 0;
$k = inc(); //调用inc()函数 0+1=1
$k = $k + add(2);//调用add()函数 1+2=3
echo '$k = '.$k; //打印结果 3
?>
结果:
2.面向对象的程序设计
面向过程编程思想:
就是将要完成的任务(工作、事情)分解为若干的步骤,程序开始后,从前往后,每个步骤依次执行,最后达到所期望的结果。
面向对象编程思想:
OOP:Object Oriented Program(面向对象编程)
就是将要完成的任务(工作、事情),分拆为不同的“对象”要做的不同的子任务,程序开始后,每个不同的对象,依据“他人的要求”,去完成自己的子任务,最后大家都按计划完成后,则总任务也就完成。
类与对象:
类是抽象的,是泛指,是某一类事物的统称。
对象是具体的,是特指,是某一个具体事物的“特称”。
属性:属性本质就是变量
方法:方法的本质是函数
对象传值:指的是将一个变量传递给另一个变量的方式方法。
值传递:将变量的值(数据)复制一份,然后再赋值给另一个变量。此时实际就是有了“两个变量两份数据”。
例:类文件helloWorld.php
class helloWorld { //创建helloWorld类
function myPrint() { //输出Hello world的语句封装在myPrint方法(函数)中
print "Hello world"; //打印Hello world
}
}
?>
hello.php
require_once('helloworld.php');//引用类文件helloworld.php
$myHelloWorld = new helloWorld(); //创建新的实例
$myHelloWorld->myPrint(); //调用myPrint方法
?>
结果:
注:如果想输出“Hello China”,只需修改myPrint方法中的输出语句即可。