专栏首页LaravelCodePHP面向对象之构造函数和析构函数

PHP面向对象之构造函数和析构函数

PHP面向对象之构造函数和析构函数

构造方法定义

构造方法又称为构造函数,是对象被创建时自动调用的方法,一般用来完成类初始化需要做的事情

特性

  • 构造函数可以接受参数,能够在创建对象时赋值给对象属性
  • 构造函数可以调用类方法或其他函数
  • 构造函数可以被其他方法显示调用
  • 构造函数可以调用其他类的构造函数

声明构造函数

使用 __construct() 来进行声明 例如:

class Person{

    private $name;
    private $age;
    private $gender;

    public function __construct($name,$age,$gender){
        $this->setName($name);
        $this->setAge($age);
        $this->setGender($gender);
    }

    public function setName($name){
        $this->name = $name;
    }
    public function setAge($age){
        $this->age = $age;
    }

    // ... getter setter 方法

}

$peron = new Person("贺德强",18,'男');

如需调用父类构造函数,必须使用 parent

parent::__construct();

析构函数

对象被销毁,或某个对象的所有引用被删除是执行的函数

特性

  • 析构函数是在销毁对象时,自动调用,不能显示的调用。
  • 析构函数不能带参数。

声明定义

通过 __destruct() 来进行声明

例如:

class test{
    function __destruct(){
        echo "当对象销毁时会调用!!!";
    }

}
$a = $b = $c = new test();

$a = null;
unset($b);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hyperf 初体验-异常处理器

    在 Hyperf 里,业务代码都运行在 Worker进程 上,也就意味着一旦任意一个请求的业务存在没有捕获处理的异常的话,都会导致对应的 Worker进程 被中...

    hedeqiang
  • 通过 Laravel 创建一个 Vue 单页面应用(三)

    我们将通过演示在 vue-router 进入一个路由之前,如何异步加载数据来继续使用 Laravel 构建我们的 Vue SPA。

    hedeqiang
  • 使用 Hexo 快速搭建博客

    Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

    hedeqiang
  • javascript基础练习:借用原型对象实现继承 & 排他思想 & 页面带参数自动跳转

    定义两个构造函数Student和Person,利用原型对象模拟上面类的继承关系。就是用对象模拟类,然后用call方法在函数内调用父类的方法即可。 注意call...

    Enterprise_
  • JS中的面向对象、原型、原型链、继承总结大全

    补充: js中说一切都是对象,是不完全的,在js中6种数据类型(Undefined,Null,Number,Boolean,String,Object)中,前五...

    疯狂的技术宅
  • 你要的对象都在这啦|how to create Object in JavaScript?

    小伙伴们,大家好,今天我们来说一下Javascript中创建对象的几种方式,请看文章。

    石璞东
  • 十一、详解面向对象

    如果要我总结一下学习前端以来我遇到了哪些瓶颈,那么面向对象一定是第一个会想到的。尽管现在对于面向对象有了一些的了解,但是当初那种似懂非懂的痛苦,依然历历在目。

    用户6901603
  • 如何用 vue 制作一个探探滑动组件

    前言 嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作用,下面就来看看如何用vue写一个探探的堆叠组...

    程序员宝库
  • php用select实现I/O复用

    在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I...

    gaobinzhan
  • 深入浅出js实现继承的7种方式

      有些人认为JavaScript并不是真正的面向对象语言,在经典的面向对象语言中,您可能倾向于定义类对象,然后您可以简单地定义哪些类继承哪些类(参考C++ i...

    TimothyJia

扫码关注云+社区

领取腾讯云代金券