美文网首页
PHP构造方法和析构方法

PHP构造方法和析构方法

作者: 老衲灬 | 来源:发表于2018-07-06 09:42 被阅读5次

一、构造方法

1)当使用new关键字创建对象时,第1个自动调用的方法,就是构造方法;
2)构造方法的名称是固定的:void __construct ([ mixed $args [, $... ]] )
3)构造方法可以带参数,也可以不带参数;构造方法不是必须的,是可选的;
4)构造方法的作用:对象初始化。例如:给对象属性赋值、数据库对象初始化(连接、选择数据库)
5)构造方法一定是成员方法。构造方法的权限可以自己指定。
6)构造方法一般不需要主动调用,都是自动调用的。
示例:

//创建一个学生类
class Student
{
    //私有的成员属性:通过公共方法给其赋值
    private $name;
    private $age;

    //公共的构造方法:对象初始化
    public function __construct($name1,$age1)
    {
        $this->name = $name1;
        $this->age = $age1;
    }

    //公共方法打印学生信息
    public function showInfo()
    {
        echo "{$this->name}的年龄是{$this->age}岁";
    }
}
//创建学生类对象
$obj = new Student("张三",18);
$obj->showInfo();
结果如下: 图片.png

二、析构方法

1)析构方法的名称是固定的:void __destruct ( void )
2)析构方法不带任何参数;
3)析构方法的作用:垃圾回收工作,例如:断开到MySQL的连接
对象何时销毁:网页执行完毕时,对象会自动销毁

图片.png 图片.png

三、实例:在线人数统计

//创建一个学生类
class Student
{
    //私有的静态属性,用来保存在线人数
    private static $count = 0;

    //公共的构造方法
    public function __construct()
    {
        self::$count++;
    }

    //获取在线人数
    public function getCount()
    {
        return self::$count;
    }

    //公共的析构方法
    public function __destruct()
    {
        self::$count--;
    }
}
//创建多个学生类对象,模拟多个用户登录
$obj1 = new Student();
$obj2 = new Student();
$obj3 = new Student();
$obj4 = new Student();
unset($obj3,$obj4);
$obj5 = new Student();
echo "当前在线人数:".$obj1->getCount();

结果:当前在线人数:3

相关文章

  • PHP构造方法和析构方法

    一、构造方法 1)当使用new关键字创建对象时,第1个自动调用的方法,就是构造方法;2)构造方法的名称是固定的:v...

  • Swift4 构造方法与析构方法

    用于完成时例构造的方法被称为构造方法,析构方法是构造方法的逆过程,一个实例对象要被注销或者释放的过程由析f构方法来...

  • python 13面向对象

    构造函数 析构函数 私有 类方法 静态方法 属性方法

  • Java析构方法

    析构方法与构造方法相反,当对象脱离其作用域时(例如对象所在的方法已调用完毕),系统自动执行析构方法。析构方法往往用...

  • 面向对象编程

    构造方法和析构方法 构造方法 类的构造方法 Woman类后面的“()”;其实指的就是构造方法。 只要你想要创建类或...

  • PHP面向对象基础知识整理

    面向对象由类、成员(字段)、方法组成,方法大致分为三种,分别是普通方法、构造方法、析构方法,具体区别如下: 析构方...

  • C#(16)构造析构 封装继承 里氏转化

    8yue25 构造方法和析构方法 构造方法定义 1.构造方法必须与类重名; 2.构造方法没有返回值,但可以有参数;...

  • 【第35天】python全栈从入门到放弃

    1 析构方法:(deal)释放一个空间 构造方法:申请一个空间new 析构方法:释放一个空间del 对象借用了操作...

  • Python基础教程:内置方法补充

    构造方法 申请一个空间 析构方法 释放一个空间之前执行 某对象借用了操作系统的资源,还要通过析构方法归还回去 :...

  • face 10面向对象

    面向对象 请写出php的构造函数和析构函数 __construct() __destruct() 着重记忆php面...

网友评论

      本文标题:PHP构造方法和析构方法

      本文链接:https://www.haomeiwen.com/subject/cwkvuftx.html