php中的构造函数和析构函数,php 中构造函数和析构函数

构造函数:

在对象实例化时被调用,一个类中只能有一个构造函数,在类中起初始化的作用。

析构函数:

在对象结束时被自动调用。

话不多说,用一段代码来说明两者的区别:

//定义一个类

class Person{

//添加属性;

public $name;

public $age;

public $height;

//创建一个构造函数,起初始化的作用,一个类中只能有一个构造函数

function __construct($name,$age,$height){

$this->name=$name;

$this->age=$age;

$this->height=$height;

}

//创建一个析构函数,在对象结束时自动调用

function __destruct(){

echo "
"."
".$this->name."说,我是析构函数,对象结束时自动调用"."
";

}

//添加一个方法

public function say(){

echo "我叫".$this->name.",我今年".$this->age."了!";

}

}

//创建一个类

$person1=new Person("Alice",18,170);

echo $person1->say();

echo "
";

echo "
";

//创建一个类

$person2=new Person("秦智凯",25,178);

echo $person2->say();

?>

打印结果:

php中的构造函数和析构函数,php 中构造函数和析构函数_第1张图片

(转载)C++中, 构造函数和析构函数能不能被显示调用?

(转载)http://blog.csdn.net/zhangxinrun/article/details/6056321 代码: view plaincopy to clipboardprint?#i ...

C++学习笔记(7)----类的数组中构造函数和析构函数的调用顺序

C++类的数组中构造函数和析构函数的调用顺序(2) 对于如下的代码: #include using namespace std; class CBase { priva ...

C++C++中构造函数与析构函数的调用顺序

http://blog.csdn.net/xw13106209/article/details/6899370 1.参考文献 参考1: C++继承中构造函数.析构函数调用顺序及虚函数的动态绑定 参考2 ...

C++中构造函数和析构函数的调用顺序

一般而言,析构函数调用的顺序和构造函数调用顺序相反,但是,对象的存储类别可以改变调用析构函数的顺序.举例说明: CreateAndDestroy类的定义 CreateAndDestroy类的成员函数的 ...

C#中构造函数和析构函数的用法

构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误.本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项.一 ...

C/C++中构造函数和析构函数能否被继承

http://bbs.csdn.net/topics/390160673 标准方面做了要求的.Even though destructors are not inherited 构造函数和析构函数是不 ...

(转)PHP中构造函数和析构函数解析

--http://www.jb51.net/article/56047.htm 构造函数 void __construct ([ mixed $args [, $... ]] ) PHP 5 允行开发 ...

c++中构造函数 、析构函数的作用域详解

我们知道,在c++中,析构函数是在函数作用域尾部执行析构函数,从而释放对象,但是有一种情况下,析构函数作用域发生变化,请看下面的例子,定义了一个Stock类,Stock类存放在stock.h中,主调用 ...

iOS中构造函数与析构函数

一.构造函数 在OC中凡是已init开头的函数我们都称之为构造函数,在声明构造函数的时候,不带参数的一般直接声明为“-(id)init”,带参数的一般声明为“-(id)initWith...”. 1 ...

C++中构造函数或析构函数定义为private

转自:http://www.blogjava.net/fhtdy2004/archive/2009/05/30/278971.html 很多情况下要求当前的程序中只有一个object.例如一个程序只有 ...

随机推荐

MVC4做网站后台:栏目管理1、添加栏目

把栏目添加删除跟前台混在一起结构清晰,现在有了后台管理的区域就把后台管理相关的代码分开. 要实现功能: 1.添加栏目 2.删除栏目 3.修改栏目信息 -- 一.开始 1.添加 接口InterfaceC ...

[原创]android自定义动画的一点感悟

android提供了一系列的动画处理api,包括animator以及animation等.由于动画效果是根据人眼视觉残留原理形成的,因此动画过程中android需要不断频繁的更新view的相关属性,由 ...

用变量a给出下面的定义

a)一个整型数(An integer)b) 一个指向整型数的指针(A pointer to an integer)  c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to ...

嵌入式程序员应知道的0x10个基本问题

来源:网络 嵌入式程序员应知道的0x10个基本问题 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 ...

Blast使用详解

Blast,全称Basic Local Alignment Search Tool,即"基于局部比对算法的搜索工具",由Altschul等人于1990年发布.Blast能够实现比较 ...

移动端下拉刷新上拉加载-mescroll.js插件

最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...

angular2.0学习笔记6.编程风格指南

1.组件的类名应该是大驼峰形式,并且以Component结尾. 因此英雄详情组件的类名是HeroDetailComponent. 组件的文件名应该是小写中线形式,每个单词之间用中线分隔,并且以.com ...

lemon spj无效编译器解决方法

反正我是被坑了很久,心里增的敲难过呀! 我曾经无数次的想把它解决掉: 啊啊啊啊啊啊! 什么嘛!什么嘛! 这个空白的框框里到底要填什么嘛!!! 你已经是一个成熟的lemon了,就不能自动识别给个选项吗! ...

getElementsByName和getElementById

1: 今天分享工作中遇到的一个小细节 1.1 先介绍一下两个方法分别是: 1.2 getElementById()  :可返回对拥有指定 ID 的第一个对象的引用,如果您需要查找文档中的一个特定的元素 ...

Counting Haybales (线段树)

Counting Haybales 时间限制: 50 Sec  内存限制: 256 MB提交: 52  解决: 18[提交][状态][讨论版] 题目描述 Farmer John is trying t ...

你可能感兴趣的:(php中的构造函数和析构函数)