1、构造方法的8点说明:

①构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是construct()

②构造方法没有返回值

③构造方法的主要作用是完成对新对象的初始化,并不是创建对象本身。

④在创建新对象后,系统会自动的调用该类的构造方法,不需要自己写代码调用

⑤一个类有且只有一个构造方法,在php5后虽然construct() 和 类名() 可以共存,但是实际上也只能使用一个。

⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。 */

⑦如果给类自定义了构造方法,则该类的默认构造方法被覆盖。

⑧构造方法的默认访问修饰符是public

2、在php 5 中一个类可以同时有 两种形式的构造方法:

construct() 和 类名() , 当两个同时存在的时候,优先调用construct(), 请大家以后使用construct()

两种构造函数如下:

publicfunction construt(){//函数体;}

publicfunction 类名(){//函数体;}

PHP4中只能有一种形式的构造函数:

public

function 类名()

{

//函数体;

}

3、构造方法注意事项:

(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.

(2)一个类只能有一个构造函数.(不能重载)

4、构造方法代码实例:

name="宋江";

$p1->age=33;

//this的理解:

class Person2

{

public $name;

public $age;

//这个就是构造方法,php5独有

public function construct($iname,$iage)

{

//这里如果我们直接用$name,$age,系统认为我们是创建了两个新的变量

//$name=$iname;

//$age=$iage;

//此处的$this->name、$this->age则解决了以上问题,加上$this之后该变量就是指上面创建的成员属性;

//$this 本质可以理解就是这个对象的地址,哪个对象传递时使用到$this, 就是传递哪个对象地址;

//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量

//注意:$this只能在类中使用,不能在类外部使用.

$this->name=$iname;

$this->age=$iage;

echo "执行构造方法

";

}

}

$p1=new Person2("张清",90);

echo "我是".$p1->name."--我现在的年龄是".$p1->age."

";

$p2=new Person2("宋江",33);

echo "我是".$p2->name."--我现在的年龄是".$p2->age."

";

class Cat

{

//每一个类中必须有一个构造方法,若我们不定义,系统会自动生成

//若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下:

function construt()

{

}

}

$cat1=new Cat();

?>

php构造方法什么时候使用,php:构造方法的说明详解相关推荐

  1. java构造方法基础_Java 基础:构造方法

    目录: 一. 概述 二. 构造方法的重载 三. 类的初始化过程 四.this 关键字 五.子父类中的构造方法 六. super 关键字 七. static 关键字 八. final 关键字 一. 概述 ...

  2. java构造方法重载_Java 重载、重写、构造函数的实例详解

    Java 重载.重写.构造函数的实例详解 方法重写 1.重写只能出现在继承关系之中.当一个类继承它的父类方法时,都有机会重写该父类的方法.一个特例是父类的方法被标识为final.重写的主要优点是能够定 ...

  3. 《Android游戏开发详解》一3.1 构造方法

    本节书摘来异步社区<Android游戏开发详解>一书中的第3章,第3.1节,作者: [美]Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区 ...

  4. java 构造方法和析构方法_PHP面向对象程序设计之构造方法和析构方法详解

    本文实例讲述了PHP面向对象程序设计之构造方法和析构方法.分享给大家供大家参考,具体如下: 构造方法和析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法是对象创建完成后第一个被对象自 ...

  5. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  6. python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...

    第8.3节Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类没 ...

  7. java构造方法 this_Java中的构造方法this、super的用法详解

    1.构造方法 定义:与类同名没有返回值的方法称为构造方法: public class test1 { private String name; private int age; public test ...

  8. 《Android游戏开发详解》——第3章,第3.1节构造方法

    本节书摘来自异步社区<Android游戏开发详解>一书中的第3章,第3.1节构造方法,作者 [美]Jonathan S. Harbour,更多章节内容可以访问云栖社区"异步社区& ...

  9. java 构造 super_Java中的构造方法this、super的用法详解

    1.构造方法 定义:与类同名没有返回值的方法称为构造方法: public class test1 { private String name; private int age; public test ...

  10. java无参构造有参构造_Java ——补充:构造方法 super()与构造方法 无参 有参构造方法 this()与构造方法...

    参考文章: 构造方法在new的时候自动执行.且只执行一次.new一次执行一次 每个类都有构造方法,即使不写也有,编译时javac会自动检查类是否有构造方法,如果有,就执行,没有就自动添加一个 如果父类 ...

最新文章

  1. nc65语义模型设计_完整word版,NC数据加工做语义模型
  2. linux c 用户态 调试追踪函数 调用堆栈 定位段错误
  3. 055_Unicode字符官方标准六
  4. Linux学习8之Shell编程--基础正则表达式
  5. 【汇总】flash单个文件上传
  6. mybatis插入数据后返回自增主键ID详解
  7. iview代码片段 去除水平menu底部横线
  8. 第一部分 走进Java
  9. 拓端tecdat|R语言Copula的贝叶斯非参数估计
  10. RSA签名和验签Util
  11. 浅谈:字符串、时间格式的转换
  12. 2018年蓝桥杯C++省赛B组【G:螺旋折线】 【思维】
  13. Java 获取网络url图片返回file文件对象
  14. eclipse快捷键的设置和使用
  15. 干货|FOF资产配置方案全解析
  16. volatile-内存屏障
  17. Ubuntu18.04忘记密码解决(八十七)
  18. Linux服务篇之远程访问及控制SSH
  19. 申请支付宝当面付应用
  20. 不同的语言讲述“元旦快乐“

热门文章

  1. Day4:html和css
  2. vuejs+webpack环境搭建
  3. Highsoft.Highcharts 5.0.6439.38401 key
  4. 读取JSON文件并 排序,分组,
  5. Fckeditor漏洞利用总结
  6. Django视图系统
  7. 常用 css html 样式
  8. Eclipse Photon即将发布
  9. Mapbar 地图 API 概念   技术文档
  10. TurboMail助某水利委员会邮件通讯更新换血