您现在的位置: 网页制作教程网 >> 网络编程 >> php 教程 >> PHP 基础教程 >> 文章正文

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

作者:ASPCool

来源:ASPCool

热度:

2006-10-19 9:07:45

 成员变量,成员方法[成员函数],实例化,大家都知道了。
  
     但是我桌子虽然想变大,可是我还不知道桌子开始有多大啊,这可能吗,怎么办呢?
  
     接下来,我们隆重推出 构造函数 来拉。要说到构造函数啊,话多啊,就不多说了,他就是给我们桌子面和桌子腿确定大小的。
  
   ////////////////
   class desktop{
    var $desktop;#桌子面;
    var $baluster;#桌子腿;
    function desktop(){
     $this->desktop = 100;
     $this->baluster = 100;
    }
    function move(){
     #....
    }
    function largen(){
     $this->desktop++;#放大桌子面
    }
   }
   ////////////
   看到了吧,我把桌子定义了大小和长度哦
   //////////
  
     聪明的你,一定想立即实例化了吧,如果我开始在定义成员变量里就给值了,那不是说所有桌子都一样大吗?
  
   //////////////
   class desktop{
    var $desktop;#桌子面;
    var $baluster;#桌子腿;
    function desktop(){
     $this->desktop = 100;
     $this->baluster = 100;
    }
    function move(){
     #....
    }
    function largen(){
     $this->desktop++;#放大桌子面
    }
   }
   $d = new desktop;
   $d->desktop();
   ////////////////////
  
     可是结果却是:Call to a member function desktop() on a non-object in
  
     倒霉,肯定是作者在骗点击,bs这小样,TT.
  
     其实是我错了,我知道错了。原来 我们刚才添加的函数
  
   function desktop(){
    $this->desktop = 100;
    $this->baluster = 100;
   }
  
     是个构造函数,什么是构造函数呢,哎呀,原来构造函数是类特有的函数,在类被实例化后,类会第一步自动执行构造函数,它在为类开辟内存单元嘛。
  
     为了验证是不是它一开始就执行,大家请把目光放到本教程第一个代码上去,嘎嘎,您看到了把,一个和类名一样的方法,一个构造函数,在我们实例化后就已经输出代码了吧,这就证明我还没有说错呢。
  
     好了,回到我们的桌子世界里,你发现了,我们这个时候所有桌子面和腿都是100了。
  
     2.PHP
  
     执行代码
  
   //////////////
   <?
   class desktop{
    var $desktop;#桌子面;
    var $baluster;#桌子腿;
    function desktop(){
     $this->desktop = 100;
     $this->baluster = 100;
     echo "我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br />";
    }
    function move(){
     #....
    }
    function largen(){
     $this->desktop++;#放大桌子面
     echo "7~,小桌子我今天改造了,不鸟你们拉,哈哈, 我现在面子可比你们大,我有".$this->desktop."嘎嘎";
    }
   }
   $d = new desktop;
   $d->largen();
   ?>
  
     小桌子,逃离了桌子家族,因为,我们的面子没小桌子这nb大了。桌子老长老看不下去了,小样,看我的。
  
   //////////////
   <?
   class desktop{
    var $desktop;#桌子面;
    var $baluster;#桌子腿;
    function desktop($desktop){
     $this->desktop = $desktop;
     $this->baluster = 100;
     echo "我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br />";
    }
    function move(){
     #....
    }
    function largen(){
     $this->desktop++;#放大桌子面
     echo "7~,小桌子我今天改造了,不鸟你们拉,哈哈, 我现在面子可比你们大,我有".$this->desktop."嘎嘎";
    }
   }
   $d = new desktop;
   $d->largen();
   ?>
  
     小桌子,左转转,右转转 看了半天,逛累了,觉得自己现在也进化了,该看看新同类了 于是;桌子变身执行后,发现......
  
   /////
   $d = new desktop(101);
   ////
我tmd还是一张小桌子

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号