首页 | 新闻 | 生活 | 奥运 | 镇区 | 健康 | 新经济 | 教育 人才 | 企业 | 房交会 | 汽车 | 旅游  | 文明城市 | 家电 网络 | 财经金融
logo jiao
专题 | 商机 | 娱乐 | 小说                                  设为首页 | 收藏此文
财 经 | 汽 车 | 国 内 | 国 际 | 八 卦 | 服 饰 | 购 物 | 美 食 | 科 技 | 人 才 | 体 育 | 健 康 | 品 牌 | 教 育 | 数 码 | 娱 乐 | 军 事
banner1 banner2
当前的位置 wangzhi 首页 >> IT家电 >> 互联网技术 >> 编程艺术 >> 正文
  fangdajing 请输入字
////////////////////
<?classhelloWorld{
 var$hellow_str="HelloWorld!";
 functionhelloWorld(){
echo$this->hellow_str;
 }
}
$p=newhelloWorld;
?>
////////////////////
很明显,这是一个类,很简单的类,只有一个构造函数。目的就是输出"HelloWorld";首先我们定义了一个类成员变量,通过一个特殊的$this对象,输出该变量,oop思想我不是很精,仅仅在于php开发方面用到,其他的也只是借鉴,但是我想对于php开发者已经足够了。

接下来,解释下什么是$this对象,从这点我们先要知道什么是类。

类,可以解释为一群相同的群体,在类中的成员变量,如上面的$hellow_str可以看作是这个群体的独特的特征,比如,桌子群体是一个
类,桌子都有桌面,桌脚,这些“都有”的东西,就是桌子全体的共有特征,在程序类里面我们就可以定义其为桌子类的一个成员变量。

////////////
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
}
///////////
同样,在桌子世界里,他们也有共同的动作,比如移动[也许你现在就在推桌子^^],也可能我们要把桌子的面子放大点,一样,这个就是桌子群提的共有方法了,[和特征近似哦,不过这是动作罢了]。让我们把这个共同特征加到类中去吧。

////////////////
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functionmove(){
#....
 }
 functionlargen(){
#...
 }
}///////////////
知道了上面的,那么接下来就很好理解什么是$this对象了,没有错,他就是桌子群中的一个特定的对象,如果阁下还不能理解,那么,
我们接着解释。

如果,我们现在要对一张桌子进行整改,比如,我们想把桌子面积做的更大,那么,我们针对的就不是一群桌子,而是这个要整改的特定的桌子,这是个个体!所以,我们要把这个类进行“实例化”进行精确定位。因为,其他桌子我们不需要整改。

////////////////
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functionmove(){
#....
 }
 functionlargen(){
$this->desktop++;#放大桌子面
 }
}
$d=newdesktop;#“实例化,这个时候我们就是针对一个特定的桌子拉!
$d->largen();#哈哈,把这个特定桌子面放大点。其实$d=$this;明白吗,$d就是那个特定的桌子,$d->largen就是用那个特定桌子[桌子群大家都有的变大方法]把特定桌子面放大了点。
///////////////


原来,$this就是指一个特定桌子呀,哈哈,明白了,原来类是大家都有的属性,方法的集合,而一个特定的对象,就是这个群体中的一个个体,既然是他们当中的个体,当然拥有群体所拥有的共同特征和方法拉。

 

 

成员变量,成员方法[成员函数],实例化,大家都知道了。

但是我桌子虽然想变大,可是我还不知道桌子开始有多大啊,这可能吗,怎么办呢?

接下来,我们隆重推出构造函数来拉。要说到构造函数啊,话多啊,就不多说了,他就是给我们桌子面和桌子腿确定大小的。

////////////////
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functiondesktop(){
$this->desktop=100;
$this->baluster=100;
 }
 functionmove(){
#....
 }
 functionlargen(){
$this->desktop++;#放大桌子面
 }
}
////////////
看到了吧,我把桌子定义了大小和长度哦
//////////
聪明的你,一定想立即实例化了吧,如果我开始在定义成员变量里就给值了,那不是说所有桌子都一样大吗?

//////////////
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functiondesktop(){
$this->desktop=100;
$this->baluster=100;
 }
 functionmove(){
#....
 }
 functionlargen(){
$this->desktop++;#放大桌子面
 }
}
$d=newdesktop;
$d->desktop();
////////////////////
可是结果却是:Calltoamemberfunctiondesktop()align=centerbgColor=#e7e9e9border=1> functiondesktop(){
 $this->desktop=100;
 $this->baluster=100;
}
是个构造函数,什么是构造函数呢,哎呀,原来构造函数是类特有的函数,在类被实例化后,类会第一步自动执行构造函数,它在为类开辟内存单元嘛。

为了验证是不是它一开始就执行,大家请把目光放到本教程第一个代码上去,嘎嘎,您看到了把,一个和类名一样的方法,一个构造函数,在我们实例化后就已经输出代码了吧,这就证明我还没有说错呢。

好了,回到我们的桌子世界里,你发现了,我们这个时候所有桌子面和腿都是100了。

2.php

执行代码

//////////////
<?
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functiondesktop(){
$this->desktop=100;
$this->baluster=100;
echo"我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br/>";
 }
 functionmove(){
#....
 }
 functionlargen(){
$this->desktop++;#放大桌子面
echo"7~,小桌子我今天改造了,不鸟你们拉,哈哈,我现在面子可比你们大,我有".$this->desktop."嘎嘎";
 }
}
$d=newdesktop;
$d->largen();
?>
小桌子,逃离了桌子家族,因为,我们的面子没小桌子这nb大了。桌子老长老看不下去了,小样,看我的。

//////////////
<?
classdesktop{
 var$desktop;#桌子面;
 var$baluster;#桌子腿;
 functiondesktop($desktop){
$this->desktop=$desktop;
$this->baluster=100;
echo"我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br/>";
 }
 functionmove(){
#....
 }
 functionlargen(){
$this->desktop++;#放大桌子面
echo"7~,小桌子我今天改造了,不鸟你们拉,哈哈,我现在面子可比你们大,我有".$this->desktop."嘎嘎";
 }
}
$d=newdesktop;
$d->largen();
?>
小桌子,左转转,右转转看了半天,逛累了,觉得自己现在也进化了,该看看新同类了于是;桌子变身执行后,发现......

/////
$d=newdesktop(101);
////
我tmd还是一张小桌子。

 

>
新闻评论
正在加载评论列表...
评论表单加载中...
 

PHP开发入门教程之面向对象

来源:互联网 时间:2008-10-15 9:09:55 点击: 今日评论:
=PHP是弱变量的脚本语言,也就是说你无需先定义,这一点很灵活。也可以给予很大的自由度,但对于程序来说,自由并非好事。

因为给予后期维护人员阅读带来很大的麻烦。

下面来进入我们第一个程序:

1.php

 
 
 
 
 
 
 
 
 
 


che
  分类信息 更多>>
 

  • 高剑:适度竞争的关键在于开放
  • 李坚:市场化是慈善超市可行之道
  • 唐彬:以行业协会发育应对市场风险无
  • 高剑:防治“走佬” 需撒两张网
  • 吕志英:假如墙上的洞也堵了
  • 程绍德:治“牛皮癣”岂能“以毒攻毒
  • 南海渔民:楼市新政,请莫过度解读
  • 唐彬:服务型政府是民营经济的推力
  • 李坚:科学素质调查的提醒
  • 谢锐勤:行政权不应“侵略”立法权领
  • 余以为:区域一体化重在产权明晰
  • 吕志英:物管破案让警察干什么
  • 肖功俊:“权力变通”可抵立法权之缺
  • 李坚:管理摊贩见证城市管理智慧
  • 守浊:小出租屋的大乾坤
  •   频道精选 更多>>
      TU1   TU2
     
  • 东莞东火车站指定春运电话订票取票点<
  • 东莞交通违章查询
  • 徐锦祉:金融危机下的中国酒店业
  • 东莞阳光网--魅力东莞
  • 成人脱产本科能考公务员吗?
  • 二手房买卖合同样本
  • 二手车市_阳光汽车
  • 二手汽车买卖合同
  • 东莞汽车违章罚款滞纳金解释
  • 娱乐圈先签协议后结婚 章子怡若离婚无
  • 拿万名富豪当摇钱树的女人(图)
  • 东莞交通违章处理程序规定细则
  • 厚街警方摧毁一恶势力团伙
  • 东莞电信189昨放号 可选70多款定制手
  • 周慧敏再度穿上古典宫廷装,性感迷人

  •   热点新闻 更多>>
     
    TU1   [省内休闲]梅州雁鸣湖、... 著名摄影家是如何工作的 超低价享受慵懒冬季热门 12月份 十个最美的地方(
  • 中国教育培训行业进入新一轮大并购时
  • 英语美文:Christmas morning 圣诞的
  • 面对大学自主招生 学生该如何保持良好
  • 广东保送生录取26日进行 8类考生具保
  • 冬季出游不可错过的五大圣地(组图)
  • 当心!中国最黑的十三个旅游景点(组图
  • 秋高气爽 让我们自己动手自助烧烤(图)



  •  
    全球纺织网美食导报·东莞饮食东莞汽车网搜房网富民服装网东莞台商网东莞经贸局东莞市消防网世惠生活网东莞市民政局
    东莞卫生局东莞图书馆E屋不动产阳光物流网东莞时尚东莞搜狐分类东莞租房-搜房网东莞之窗东莞二手房东莞分类信息网
    东莞招聘网东莞团购广东山东商会雷州壹网东莞网站优化卓博人才网东莞市人民政府搜优人才网
    lianjie
    关于我们 | 版权声明 | 网站地图 | 招聘信息 | 广告服务 | 联系我们 | 友情链接
    版权所有 copyright: http://www.dgce.org 粤ICP备09013760号
    地址:东莞市东城中路辉煌大厦4A16 邮编:523000
    电话:0769-22024906 22024908 传真:0769-22024907 投稿信箱:info@dgce.org
    如您有任何意见或建议,请与我们联系:webmaster@dgce.org
    ih
    CHI flat ironjimmy chooGHD straightenerHerve legerManolo blahnikJimmy chooChristian louboutinChristian louboutin saleChristian louboutin shoesChristian louboutinJordan shoesAir jordan shoesRosetta StoneRosetta Stone SpanishVibram five fingersVibram five fingers saleSennheiser microphonesShure microphonesNike shoxCoach handbagsTiffany JewelryMoncler jackets