PHP 面向对象的几个概念

来源:互联网 发布:淘宝如何发布虚拟物品 编辑:程序博客网 时间:2024/05/17 07:21

最近在学习PHP。因为之前学习的编程语言都很初级,不了解什么是面向对象的编程思想,因此想通过PHP 这门语言知道究竟什么是面向对象。

我相信,只要每天积累一点,总有一天,我也可以成为PHP编程的达人!


首先,需要明确的就是,对象是类的实例化。 比如,student 就是一个类的名称, 而五年级一班的小丽就是这个类的一个具体的对象。要实例化对象,首先要声明一个类。 类是由属性和方法组成的。属性比如身高,体重,班级,学号,成绩等。方法就是类的函数,比如类可以做哪些事情。

一开始我对实例化对象的表示方法很不理解。类的实例化就是对象的初始化一般的格式是 $xiaoli = new Student("xiaoli", "150cm", "45kg")。这其实就是一种表示方法。

当我们需要调用身高时,用 $xiaoli -> height 就可以了,这就是对象的引用。 变量 $xiaoli 其实存放的是 小丽这个对象的地址。 

其次,我们还需要知道一个函数就是 _ _ construct()。 通过这个函数可以使类具体化为一个对象。我们前面使学生这个类具体化为小丽这个对象就是用了 __construct ()

函数。_ _ construct() 具体化的是累的属性。

class Student{

function _ _ construct($name, $weight, $height)  {

$this -> name = $name;

$this -> weight = $weight;

$this -> height = $height;

}

public function write(){

echo "writting" . "\n";

}

}


$xiaoli = new Student ("xiaoli", "45kg", "150cm");


就是将小丽这个对象通过 _ _ construct() 将Student 这个类实例化了。 需要注意的是我们传递的参数一开始是在 _ _ construct() 中传递的,但是将类实例化的过程中参数的传递要写在类的后面就是 Student(参数) 里面。


最后,我们还需要了解一个函数就是析构函数 _ _ destruct(), 这个函数在对象所有的引用设置为null时会自动调用,没有参数传递。

比如 $xiaoli = null 出触发 _ _ destruct()。 函数_ _ destruct() 一般是写在 _ _ construct() 后面的,但执行时是在该对象的所有引用都设置为null 时。 例如, $xiaoli = $lili,

此时虽然$xiaoli = null 了, 但是 小丽这个对象还被 $lili 引用,因此不会触发 _ _ destruct()。又例如 $xiaoli =& $lili, 此时 $xiaoli = null 就会触发_ _ construct()。


下面是实例代码:





0 0
原创粉丝点击