本节内容:

php多构造器的类

在php编程中,实例化一个类时,需要根据构造方法的参数个数进行初始化不用的内容,类似php函数或方法的可选参数。

来看例子:

复制代码 代码示例:

/**

* php 多构造器的类

* by www.jbxue.com

*/

class A {

public function __construct() {

$a = func_get_args();

$i = func_num_args();

if (method_exists($this,$f='__construct'.$i)) {

call_user_func_array(array($this,$f),$a);

}

}

public function __construct1($a1) {

echo '__construct with 1 param called: '.$a1.PHP_EOL;

}

public function __construct2($a1,$a2) {

echo '__construct with 2 params called: '.$a1.','.$a2.PHP_EOL;

}

public function __construct3($a1,$a2,$a3) {

echo '__construct with 3 params called: '.$a1.','.$a2.','.$a3.PHP_EOL;

}

}

$o = new A('sheep');

$o = new A('sheep','cat');

$o = new A('sheep','cat','dog');

// 结果:

// __construct with 1 param called: sheep

// __construct with 2 params called: sheep,cat

// __construct with 3 params called: sheep,cat,dog

?>

php多个构造方法,php多构造器的实例代码相关推荐

  1. java构造方法详解(构造器)附代码例子

    前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客  前言:构造器就是在创建对象的时候给成员变量进行初始化赋值的. 一.名词解释: 1.构造方法也叫构造器.构造函数. 2.如果没有写构造方法 ...

  2. java 构造块_java中构造方法、普通块、静态代码块、构造块的执行顺序

    静态块.构造块.构造方法.普通块 静态块:在类中用"{}"括号括起来,并在括号前用static修饰的块为静态块;静态块在类加载时候被调用,并且在整个生命中只调用一次 同步块 使用s ...

  3. JavaSE —— 000基础版

    目录 一.学习准备 1.DOS命令在DOS命令窗口中编写:Win+R,输入CMD回车 2.关于WINDOWS操作系统设置: 3.关于Java的加载与执行 4.开始第一个Java程序 5.打开DOS命令 ...

  4. JavaSE--继承和多态(上)

    继承和多态(上)--继承 一丶继承概念以及写法 (1)基础概念 (2)写法 二丶关于成员访问 (1)子类访问父类 1>同名问题 2>super的使用(重写在后面) 3>super 和 ...

  5. java入门基础语法及核心机制

    本文内容主要记载了我学习Java零基础教程视频的笔记和学习心得,内容主要包括:(1) Java环境的配置:(2) 基础语法:关键字.标识符.字面值.操作符.数据类型等: (3) 核心机制:封装.继承. ...

  6. JAVASE学习笔记-1 (包括java一些基本知识)

    目录 打开DOS命令窗口,执行java HelloWorld.执行原理? ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的? 关于JAVA源程序当中的注释: 什么是 ...

  7. Java~~静态代码块

    1. 可以使用static关键字来定义"静态代码块": (1)语法格式: static{ java语句: } (2)静态代码块在类加载时执行,并且只执行一次. (3)静态代码块在一 ...

  8. 半小时复习java全内容

    半小时复习Java全内容 来都来了点个赞呗 o(*≧▽≦)ツ 这段时间要急着考试的同学,可以看我画的重点,目录上有标识,如果时间充裕也可以详细看下去,会很有帮助的.我会用视频加图画来解释.这篇文章中, ...

  9. 【JavaSE】JavaSE之继承和多态

    JavaSE继承和多态 一. 继承 1.1 为什么需要继承 1.2 继承概念 1.3 继承的语法 1.4 父类成员访问 1.5 super关键字 1.6 子类构造方法: 1.7 super和this ...

最新文章

  1. python queue 多进程_python中的Queue与多进程(multiprocessing)
  2. 独家 | 使用深度神经网络在Oculus Quest上进行准确的手部追踪
  3. 如何让一滴水不蒸发?
  4. 20165337岳源第一周学习总结
  5. [导入]sqlserver2005 数据挖掘控件研究
  6. Wireshark初次使用
  7. 2.3.5 操作系统之信号量机制实现进程的互斥、同步与前驱关系
  8. jsp页面实现打印 .
  9. Discuz!$_G变量的使用方法
  10. Mybatis传入参数类型为Map
  11. [转载] Python学习笔记——运维和Shell
  12. 【英语学习】【Level 07】U08 Old Stories L5 Fulfilling a life goal
  13. 【LeetCode】【HOT】301. 删除无效的括号(递归)
  14. SQL Server 审计功能-记录所有的操作记录
  15. JS --- this(4)
  16. [HAOI2005] 希望小学
  17. Java Android 代码片段收集
  18. AI-终极算法-遗传算法
  19. 零基础搭建双端影视盒子——一、搭建运行环境
  20. win10 联想键盘快捷键关闭_win10系统关闭快捷键的操作方法

热门文章

  1. python列表split_Python-split()函数实例用法讲解
  2. vscode 里 Import “numpy“ count not be resolved
  3. 美育在计算机教育中应用,在现代教育技术中绽放数学美育之花
  4. 查看python内部模块命令,内置函数,查看python已经安装的模块命令
  5. jQuery kxbdMarquee 无缝滚动
  6. 安装你自己的perl modules
  7. [开源]jquery.ellipsis根据宽度(不是字数)进行内容截断,支持多行内容
  8. 文本光标,高亮选中一些出来
  9. 字符串搜索。HOJ1530 Compound Words。
  10. 企业生产经营相关英文及缩写之(11)--Genenic 普通书写