鱼C论坛

 找回密码
 立即注册
查看: 1587|回复: 4

[庖丁解牛] 0 0 4 2 ● 构造、析构、与静态

[复制链接]
发表于 2018-11-2 15:10:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2018-11-2 15:50 编辑

6e290665971f6fee96f4219304f75f58.jpg


当创建一个新对象时,可以向被调用的类传递一些参数。

这些参数被传给类中的一个特殊方法,即构造方法

该方法为了负责初始化类中的各种属性。

通常把构造方法的名字起的和类名一样:
  1. class User{
  2.         funtion User($param1,$param2){
  3.                 //添加构造方法
  4.                 public $userName = "Guest";
  5.         }
  6. }
复制代码


然而在PHP5提供了一个逻辑性更强的方法来命名构造方法,即用__construct,别忘了:
游客,如果您要查看本帖隐藏内容请回复


代码演示:
  1. class User{
  2.         funtion __construct($param1,$param2){
  3.                 //添加构造方法
  4.                 public $userName = "Guest";
  5.         }
  6. }
复制代码





析构

PHP5中新增了构建析构的功能,该功能在创建了一个对象的最后引用代码结束时将大显神威。

创建很简单:
  1. class User{
  2.         funtion __destruct(){
  3.                 //添加析构方法
  4.         }
  5. }
复制代码


析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

析构函数在代码关闭时调用,此时所有的头信息已经发出。

先简单了解下,后续随着我们的使用再来深入说一下。

通过上面的例子,鱼油会发现:“声明一个方法和定义一个函数很相似”。

只是相似,但有区别,例如,系统预定义的方法名由两个下划线(_)开始,用户自行定义函数就不能如此命名了。




静态

定义一个静态方法,意味着该方法被类调用而不是对象调用。

静态方法不能访问任何对象属性,例如:
  1. <?php
  2. User::pwd_string();

  3. class User{
  4.         static function pwd_string(){
  5.                 echo "请鱼油输入密码";
  6.         }
  7. }
  8. ?>
复制代码


使用了静态方法和访问的方法,注意,类使用双冒号(::)而不是“->”,被称为作用域解析运算符。

静态函数对于调用类本身而不是类的具体实例很有用。




这位鱼油,如果喜欢本系列PHP+MySql+Js帖子,请订阅 专辑&#9758;传送门)(不喜欢更要订阅

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-5 10:27:48 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 17:08:22 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-23 19:48:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-12 12:17:16 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 22:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表