学习PHP以来一直对类和对象的概念和使用比较模糊,请大家进来谈谈心得和体会。进者有分 学习ing……还没自己写过类现在还停留在函数阶段,汗……这个不错:http://it.sohu.com/webcourse/webmonkey/1-teach/php/index.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 类,模版,弄懂了简化工作,弄不懂就得脑袋大3圈~~~~有继承没有重载,对php的类弄通了看c++的也简单了不少,原理一致。 学php有段时间了,却一直懒得去用类(走召懒?),惭愧。 我也没学类呢,呵呵,前两天斑竹用dir类编了个遍历目录的小程序,说明类真的很方便啊 学php一段时间,还处于摸索阶段,最近学着编写类,感觉很棒!程序结构一目了然,最主要是容易维护(这点比函数好的多)。 只是看过书,没有实际用过。类是代码化的东西,对象是类的实际应用。例如:class A{ var $name; function setvalue(){ $this->name="abc"; }} //这是类$B=new A; //这是对象$B 有属性 $B->name; 有方法 $B->setvalue();见笑了。 很少用类,因为没做过大的系统,一般用function就ok了 我在phpe下了几个class用在自己的程序,不错挺方便。 我也来插两句1、不得不说两句,错误的言论ustcfrank(阿卡波糖) : 我也没学类呢,呵呵,前两天斑竹用dir类编了个遍历目录的小程序,说明类真的很方便啊myblessu(寒飞) : 没有重载...递归是一种算法,与类无关php不支持函数和运算符的重载,但支持方法的重载2、似是而非的言论zairwolf(zairwolf) : 汗,原来类和函数差不多的东西呀?类和函数是两回事,因为他们是从不同的角度来看问题的 <?phpclass A{ var $name1="abc"; var $name2; function A(){ $this->name2=""; } function A($aa){ $this->name2=$aa; } function show1(){ echo "show1()<br>"; echo "this->name1=".$this->name1."<br>"; echo "this->name2=".$this->name2."<br>"; }}$B=new A("123");$B->show1();?>运行提示:Fatal error: Cannot redeclare a() in D:\webroot\1.php on line 11不知道这是不是支持重载? 没有出错结果:---------------------------show1()this->name1=abcthis->name2=123--------------------------搜索了一下http://www.99net.net/study/page/68101850.htm大体概念是:php不支持重载,但是可以通过技巧性的参数不同来完成调用不同的函数. 因为我习惯把函数写的非常的细,功能非常单一,有可能只有一句话,所以我会用类把他们归纳起来,我很少使用 global 变量,所以用类的话就可以很方便的使用参数。用 global 太多很容易发生冲突,特别是一个小组开发的时候。用类就不会出现这种问题。呵呵,这是我的开发思想,函数细化~~~呵呵。 我上面那段代码在 Windows NT 4.0 build 1381 + IIS + php 4.06 下可运行得到show1()this->name1=abcthis->name2=123但在 FreeBSD + apache 1.3.28 + php 4.3.3 上出现上面的错误提示.也在 win2000 + apache 2.0.43/2.0.47 +PHP 4.3.3上出现上面的错误提示.不知道这能说明什么问题?请各位高手解答. 学php也有4个月了,对于类只看过,用过,没写过,感觉自己还不到那个火候 虽然我看过java的书,但是对类也很迷茫! 我在 red hat 8.0 +apache + PHP 4.2.2 上也能得到show1()this->name1=abcthis->name2=123真是不知道怎么会是这样?. TO:myblessu(寒飞) ( )没有出错呀~~~ session_set_save_handler这个函数有什么用的 求一段PHP代码,有难度哟... php菜鸟的一个问题请求帮助,谢谢 php操作sqlserver数据库问题 正则表达式关于引用组和花括号的问题 彻底理解了session机制的朋友:每隔多少时间谁来清除session的呢? 变量的处理,请帮忙 ie 下无法登录问题,清除cookie 后正. 求一个PHP正则 如何对上传图片进行简单的编辑? PHP循环控制问题?? 在IF语句中使用HEADER()函数是不是需要更改配置?
类是代码化的东西,对象是类的实际应用。
例如:
class A{
var $name;
function setvalue(){
$this->name="abc";
}
} //这是类$B=new A; //这是对象
$B 有属性 $B->name;
有方法 $B->setvalue();见笑了。
ustcfrank(阿卡波糖) :
我也没学类呢,呵呵,前两天斑竹用dir类编了个遍历目录的小程序,说明类真的很方便啊
myblessu(寒飞) :
没有重载...递归是一种算法,与类无关
php不支持函数和运算符的重载,但支持方法的重载2、似是而非的言论
zairwolf(zairwolf) :
汗,原来类和函数差不多的东西呀?类和函数是两回事,因为他们是从不同的角度来看问题的
<?phpclass A{
var $name1="abc";
var $name2;
function A(){
$this->name2="";
} function A($aa){
$this->name2=$aa;
}
function show1(){
echo "show1()<br>";
echo "this->name1=".$this->name1."<br>";
echo "this->name2=".$this->name2."<br>";
}
}$B=new A("123");
$B->show1();?>
运行提示:
Fatal error: Cannot redeclare a() in D:\webroot\1.php on line 11
不知道这是不是支持重载?
结果:
---------------------------
show1()
this->name1=abc
this->name2=123
--------------------------
搜索了一下
http://www.99net.net/study/page/68101850.htm
大体概念是:php不支持重载,但是可以通过技巧性的参数不同来完成调用不同的函数.
this->name1=abc
this->name2=123但在 FreeBSD + apache 1.3.28 + php 4.3.3 上出现上面的错误提示.
也在 win2000 + apache 2.0.43/2.0.47 +PHP 4.3.3上出现上面的错误提示.不知道这能说明什么问题?请各位高手解答.
this->name1=abc
this->name2=123真是不知道怎么会是这样?.
没有出错呀~~~