带你分清类中的构造函数与析构函数

在之前的文章中给大家带来了《PHP中怎样实例化对象并且访问对象成员?》,其中详细的介绍了应该怎样去实例化对象和访问对象成员,本篇文章我们一起来看一下PHP中的构造函数与析构函数,希望对大家有帮助!

在之前的文章中给大家带来了《PHP中怎样实例化对象并且访问对象成员?》,其中详细的介绍了应该怎样去实例化对象和访问对象成员,本篇文章我们一起来看一下PHP中的构造函数与析构函数,希望对大家有帮助!

带你分清类中的构造函数与析构函数

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

PHP类中构造函数也叫作构造器,当时用new关键字实例化一个对象时,它可以在对象被创建时自动调用,是类中的一个特殊函数。与之相对应的函数就是析构函数,析构函数的作用与构造函数正好相反,析构函数它可以在对象销毁前执行操作。那接下来我们一起来看一看这两个函数吧。

__construct():构造函数/方法

在PHP的类中,我们使用__construct()作为类的构造函数,构造函数是当对象被创建时,类中被自动调用的第一个函数,并且一个类中只能存在一个构造函数,并且需要注意的是,如果构造函数中有参数的话,那么实例化也需要传入对应的参数。

构造函数创建的语法格式如下:

public function __construct(参数列表){
… …
}登录后复制

需要注意的是,其中的参数列表是可选的,不需要的时候可以省略。construct前面是两个下划线__。

实例如下:

study1 = $str1;
$this -> study2 = $str2;
$this -> study3 = $str3;
$this -> study4 = $str4;
$this -> demo();
}
public function demo(){
echo $this -> study1.;;;
echo $this -> study2.;;;
echo $this -> study3.;;;
echo $this -> study4.;;;
}
}
$object = new study(;好好学习;,;天天向上;,;福如东海;,;寿比南山;);
?>登录后复制

示例中的$this表示当前调用的对象。输出结果:

带你分清类中的构造函数与析构函数

由上述结果,我们通过,我们通过__construct()构造函数,就调用了类中创建的对象。

__destruct():析构函数/方法

刚才讲到的__construct()构造函数,它会在对象被创建的时候调用,与之相对应的就是析构函数,析构函数的作用与构造函数相反,析构函数只有当对象从内存中删除之前才会被自动调用,在PHP中有垃圾回收机制,当对象不能被访问就会自动启动垃圾回收机制,析构函数就是垃圾回收对象前调用。

__destruct()函数的语法格式如下:

public function __destruct(){
… …
}登录后复制

需要注意的是,与构造函数类似,destruct前面也是两个下划线__;不同的是析构函数不能带有任何参数。

实例如下:

登录后复制

输出结果:

带你分清类中的构造函数与析构函数

由上述实例可以看出,构造函数与析构函数调用的时间不同,构造函数在对象被创建时自动调用,析构函数在对象被垃圾收集器收集前被调用。

$this:当前对象

在PHP面对对象编程中,对象被创建之后,在对象中的每个成员方法里,都会存在一个特殊的对象引用“$this”,与连接符->联合使用,专门用来完成对象内部成员之间的访问。示例如下:

$this -> 成员属性;
$this -> 成员方法(参数列表);登录后复制

我们在类中访问一个成员属性时,后面只需要跟着属性名称就行了,不用加$符号,$this只能在对象中使用,没有对象就没有$this。

示例如下:

name = $name;
$this -> name();
}
public function name(){
echo $this -> name;
}
}
$object = new Website(;好好学习;);
?>登录后复制

输出结果:

带你分清类中的构造函数与析构函数

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

PHP中什么是类和对象?为什么学习面向对象?如何使用?

原创2021-06-17 11:19:021544 + php学习QQ群(点击入群)上篇文章给大家介绍了《PHP中什么是pdo?访问数据库有什么优点?扩展的作用是什么?》,本文继续给大家介绍PHP中什么是类和对象?为什么学习面向对象?如何使用?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

带你分清类中的构造函数与析构函数

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

PHP高级语法-类和对象

1、为什么学习面向对象

面向对象思想是人类思想的高度抽象。

学习了面向对象之后,我们的代码会非常的高雅和紧凑

有些功能我们只需要一-两行代码就可以搞定

2、面向过程和面向对象

我们以前写的代码都是面向过程的

盖房子:

1、打地基

2、盖房子

3、装修

面向对象思想:

1、new一个对象,对象调用打地基方法

2、new一个包工头,让其去盖房子

3、new-一个装修工人,让其去装修

万物皆对象,多个对象协同工作共同完成我们的功能。

往后我们的思维都要去面向对象转变。

语法层面:封装、继承、多态

思想方面

3、生活中的类和对象

人类:抽象的概念

对象:科比、韦德

类是抽象的概念,对象才是具体的事物

汽车 你的路虎

电脑 你的电脑

官方概念:类是对象的抽象,对象是类的具象

4、类的简单使用

属性和行为

  • 属性===》变量

  • 行为===》方法

命名规范

类名遵从大驼峰原则

persontest ====>
PersonTest====> personTest登录后复制

创建对象方法

//通过new关键字来创建-一个对象,person后面的小括号可加可不加,推荐大家都

加上

//对象创建的第一种方法

$xiaoming = new Person() ;
//var_dump ($xiaoming) ;登录后复制

//对象创建的第二种方法,通过类名字符串来创建对象

$className ='Persoin' ;
$xiaoli = new $className () ;
var_dump($xiaoli) ;登录后复制

对象访问属性和方法

$xiaoming->name = '小明' ;
$xiaoming-> love () ;登录后复制

对于类的简单使用,我们通过PHP的语法来书写,首先要以class为关键字开始,我们以person写类名,此时我们在类里面就会有属性和方法,我们以代码为例:

登录后复制

代码显示结果:

带你分清类中的构造函数与析构函数

like();
?>登录后复制

带你分清类中的构造函数与析构函数

推荐学习:php视频教程

以上就是PHP中什么是类和对象?为什么学习面向对象?如何使用?的详细内容,更多请关注钦钦技术栈其它相关文章!

转载至:php中文网【www.php.cn】

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/27537/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年 9月 30日 3:51:52
下一篇 2022年 9月 30日 3:52:58

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!