面向对象

面向对象和面向过程的不同之处:

1.面向过程:面向过程就像是把一件事情交给一个人去做,这个人会把这件事分成几个步骤,然后去一步一步的完成。

原来(在面向过程)的语法中,我们的代码有如下几种代码:

定义变量;

定义函数;

使用变量(输出,赋值,等)

调用函数;

 

流程控制(ifswitchforwhile等)

2,面向对象:就像是把一件事分成若干部分,然后交给若干不同的人去完成,然后汇总到一起 。 万事万物都是对象。

在面向对象的语法中,则情况就发生变化了:

1,定义类;定义类的语法中,只有这3种代码:

1.1定义属性(变量)

1.2定义方法(函数)

    1.3定义常量(类常量)

 

 

面向对象的基本概念:

  什么是类

类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。

 

通常,一个类所具有的共同特征包括2大方面的信息:

 

外观,形状,描述,数据。。。。。属性

    行为,动作,功能。。。。。。。。方法。

  什么是对象

对象:  是指一个具体的“物体”,该物体隶属于某个“类别”(类)。

     通常,对象离不开类,没有类,就不能有对象。

 

对象创建的基本形式

$对象名1  =  new  类名();

 

方式2

 

$对象名3 = new  self;        //self指代类本身,这行代码只能在类内部方法中使用。

 

 

对象的传值:

php中,变量传值方式有2个:

值传递:       传递的时候,拷贝的是数据本身。默认都是值传递。

结果:传递完之后,有了2份同样的数据,但两个变量“相互独立”没有关系。

引用传递:    传递的时候,拷贝的是引用关系。需要使用“&”才能实现引用传递。

结果:传递完之后,数据仍然只有一份,但是两个变量共同指向该数据。

 

则在面向对象这个层面,基本来说,仍然如此:

默认是值传递:

可以使用引用传递:

 

最简单的实例:

<?php
class hero{
	var $shuxing = "火";
	var $nengli = "喷火";
	var $dengji = 5;
	
	function show(){
		echo "属性:".$this->shuxing.";喷火:".$this->nengli.";等级:".$this->dengji;
	}
}

$hero = new hero();
$hero->shuxing;
$hero->nengli;
$hero->dengji;
$hero->show();
?>

万事万物都是对象。

posted @ 2018-06-04 15:03  volition丶L  阅读(93)  评论(0编辑  收藏  举报