>  기사  >  백엔드 개발  >  这种程序怎么实现

这种程序怎么实现

WBOY
WBOY원래의
2016-06-13 13:06:23956검색

这种程序如何实现
我想在一个类里面建两个方法如

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->class ren
{
public function listing()
{
//code
}
public function listing($dd)
{
//code
}

}

这样能行吗?或者有没有更好的办法呢?

------解决方案--------------------
PHP只允许一个函数或方法名有一种定义。只能走个弯路
class ren
{
private function _listing()
{
//code
}
public function listing($dd = null)
{
is_null($dd) && $this->_listing();
//code
}

}
(new ren())->listing();
------解决方案--------------------
函数法的重载?
对不起,php 不支持!
php 只是做做动态网页而已,没必要弄的那么复杂
如果 php 搞得跟 C++、Java 一样,我想他也就没有市场了

不过 php 提供了
func_get_arg
func_num_args
func_get_args
三个函数。完全可以解决你的问题,不过需要你自己编程实现
------解决方案--------------------
php不支持重载
其实也有很多高级语言不支持重载的,c++只是用了一个奇怪的方法(编译器级)进行重载;一般认为重载会导致程序阅读产生混乱
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.