一个函数(实际上是另一个类的构造函数)需要一个类temp的对象作为参数.所以我定义接口项目,并将itemp $obj作为函数参数.这很好,我必须将类temp对象传递给我的函数.但是现在我想设置这个itemp $obj参数的默认值.如何完成这个还是不可能?

我将把测试代码澄清:

interface itemp { public function get(); }

class temp implements itemp

{

private $_var;

public function __construct($var = NULL) { $this->_var = $var; }

public function get() { return $this->_var ; }

}

$defaultTempObj = new temp('Default');

function func1(itemp $obj)

{

print "Got : " . $obj->get() . " as argument.\n";

}

function func2(itemp $obj = $defaultTempObj) //error : unexpected T_VARIABLE

{

print "Got : " . $obj->get() . " as argument.\n";

}

$tempObj = new temp('foo');

func1($defaultTempObj); //Got : Default as argument.

func1($tempObj); //Got : foo as argument.

func1(); //error : argument 1 must implement interface itemp (should print Default)

//func2(); //could not test as i can't define it

php函数设置默认值,php函数如何设置默认值作为对象?相关推荐

  1. php函数的默认值,php函数指定默认值方法的小例子

    php函数指定默认值方法的小例子 本节内容: php函数指定默认值 在php编程中,为自定义函数设定默认值,当用户调用该函数时,如果不给参数指定值,参数会用默认值顶替. 例1, 复制代码 代码如下: ...

  2. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  3. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

  4. pandas使用fillna函数并设置fffill参数使用列中的前序值填充缺失值(replace missing values with preceding values in column in d

    pandas使用fillna函数并设置fffill参数使用列中的前序值填充缺失值(replace missing values with preceding values in column in d ...

  5. c++之带默认形参值的函数

    先来个例子: 1 #include <iostream> 2 3 using namespace std; 4 5 int sub(int x=8,int y=3){ 6 return x ...

  6. keil5函数 默认返回值_C++ 函数的定义

    " C++对于函数的基本用法" 01 - 函数的定义 //函数声明:[返回值类型] [函数名称] (参数列表)int Function(int a, int b);//函数定义in ...

  7. 16.JavaScript函数、return陷阱、函数定义、参数传递、默认参数、局部变量、全局变量、返回值、技巧

    文章目录 函数 函数的定义 局部变量 外部变量 内外变量重名 参数 参数默认值 年长代码的默认参数 空值合并运算符的应用 返回值 return陷阱 小技巧 函数 在编程过程中,我们经常需要在很多地方使 ...

  8. 【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )

    文章目录 一.对象句柄值获取 1.句柄值 2.创建对象时获取句柄值 3.函数获取句柄值 4.获取 / 设置 对象属性 二.获取对象属性 1.获取 线 对象属性 2.获取 坐标轴 对象属性 一.对象句柄 ...

  9. java 函数给默认值_函数参数的默认值

    在C中,关于它们在参数列表中的位置对默认参数施加的要求如下: 必须指定给定参数的默认参数不超过一次 . 多次指定它(即使具有相同的默认值)是非法的 . 具有默认参数的参数必须在参数列表的末尾形成一个连 ...

  10. 当函数重载遇到函数默认值、函数指针

    当函数重载遇到函数默认值.函数指针 一.当函数重载遇到函数默认值: 当我们的重载函数遇到函数有默认值的情况,编译器还能不能正确的做出合理的判断,下面我们通过实验来给出答案,下面是两个非常简单的重载函数 ...

最新文章

  1. 稍等片刻 正在提取文件_三亚种子罐市场价,中药提取浓缩设备的价格
  2. 时间序列数据和MongoDB:第三部分 - 查询,分析和呈现时间序列数据
  3. C++知识点57——类模板(2、类模板的局部特化与默认模板实参)
  4. IDEA第一个mybatis程序 mybatis增删查改操作 mybatis的map模糊查询
  5. 神奇的机器人评课_《聪明的机器人》教学反思
  6. Android设计模式之——迭代器模式
  7. Sunscreen(POJ-3416)
  8. 选课 topsort
  9. ASP.NET MVC在IIS6下部署的小技巧
  10. Web开发人员的必备工具 - Emmet (Zen Coding)
  11. 千字14图--Python慎用assert语句阻止代码执行
  12. 用C#实现图片数据库存储与显示
  13. Eclipse快速导入继承类的方法
  14. 通过PDB文件实现非嵌入式的c++反射
  15. k近邻算法_K近邻算法(一)
  16. 计算机二级C++刷题记录
  17. TTL转RS232电路设计
  18. 英语语法构词篇-派生(Derivation)
  19. 72 ----直纹面、二次直纹面、单叶双曲面、双曲抛物面
  20. 人工智能浪潮中,AI如何为企业降本增效?

热门文章

  1. python-实现单链表
  2. [数字技巧]最大连续子序列和
  3. 配置Java网络应用程序的开发框架
  4. java 实验4 异常
  5. vue代码上传服务器后背景图片404解决方法
  6. Session机制详解及分布式中Session共享解决方案
  7. Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools解决方案
  8. 小程序“errcode“:41002错误问题如何解决?
  9. vue-socket.io跨域问题的解决方法
  10. Zuul spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL解决方案