Heim  >  Artikel  >  Backend-Entwicklung  >  PHP类与对象,构造函数和析构函数,加上this绑定详解

PHP类与对象,构造函数和析构函数,加上this绑定详解

WBOY
WBOYOriginal
2016-06-23 13:32:17837Durchsuche

一、类与对象

不仅在PHP中,在所有面向对象程序设计语言中,类都是抽象的,对象是类的一个实例。所有抽象就是:”抽取出相像的”。

在生活中,人是一个类,抽出相像的是:人都有五官,头发,手脚,会吃饭睡觉等等。

看一下PHP中的类与对象代码的实现

<?php class Person{ //定义一个叫Person的类 public $name; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } } ?>

构造函数和析构函数

构造函数是在new一个对象的时候执行的方法,析构函数是对象被销毁的时候执行的方法。

对象的销毁可以显式销毁或者等代码页面执行完毕后自动销毁。

<?php class Person{ //定义一个叫Person的类 public $name; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } public function __construct(){ //固定的__construct声明构造函数 echo 'construct'; //在对象创建时输出 } public function __destruct(){ echo 'destruct'; //对象销毁时输出 } } $a =new Person(); //输出construct //待代码结束后输出 destruct ?>

this的绑定

this返回当前绑定的对象。在PHP中如果要在方法体中调用对象中的属性,都要加上 this,否则被认为是局部变量。

<?php class Person{ //定义一个叫Person的类 public $name='color'; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } public function __construct(){ echo $this->name; //输出color,如果是echo $name会报错,因为此时的$name未定义 } } $a=new Person(); ?>

本文作者: By: 罗坚元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn