本文实例分析了PHP面向对象程序设计方法。分享给大家供大家参考,具体如下:
在对超大型项目的开发过程中,如果使用面向过程地开发,代码量是非常的庞大,这将大量的用到判断和循环嵌套,和很多很相似的代码,不仅使项目代码量更加的庞大,还不利于开发,重用及维护。
面向对象就能很好的解决这个问题,面向对象很好的封装性,节省了很多精力,不用关心对象内部的运作,只要关心对象与对象之间的交互,便于维护,而继承性使得代码大量地精简。
我们先来看一个题目:
例:张三是一位普通人,别人早晨向他打招呼,他会说“早上好”,但是有一天他被车撞了,脑子受了一点伤,因此,别人早晨向他打招呼时,他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。
分析:因为现在要面向对象,那我们先把对象拿出来
对象1:张三(人) 智商(名称是属性) 打招呼(动词是方法)
对象2:车子 撞人(动词是方法)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php //创建一个human类,类是对象的实例(工厂里的模子) class human{ //普通人的iq为100 public $iq = 100; //打招呼,早上看到人就早上好 public function greet(){ echo '早上好' ; } } //实例化一个对象李四 $lisi = new human(); $lisi ->greet(); //返回早上好 ?> |
这个是实例化一个正常的李四
下面来看被车子撞了的李四
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php //创建一个human类,类是对象的实例(工厂里的模子) class human{ //普通人的iq为100 public $iq = 100; //打招呼,早上看到人就早上好 public function greet(){ //当智商大于等于100 if ( $this ->iq>=100){ echo '早上好' , '<br />' ; } else { //当智商小于100,随机出现以下问候 $regard = array ( '早上好' , '晚上好' , '混蛋' ); echo $regard [rand(0,2)], '<br />' ; } } } //实例化一个对象李四 $lisi = new human(); $lisi ->greet(); //返回早上好 class car{ public function hit( $people ){ //撞了以后人的智商随机出现了变化 $people ->iq=rand(40,120); } } //实例化一辆宝马车子 $baoma = new car(); //宝马车子撞人了 $baoma ->hit( $lisi ); //撞人之后人的智商 echo $lisi ->iq, '<br />' ; //人的根据智商的多少,问候也不相同 $lisi ->greet(); ?> |
希望本文所述对大家PHP程序设计有所帮助。