发新话题
打印

关于类的问题(问题解决了如贴)

关于类的问题(问题解决了如贴)

本来想晚点发上来的,但是为了解决问题只好先发上来了,一会儿再贴另个一篇吧!是关于接口的,本人也是初学者,只是测试改写稍加解释了这个,你没有觉得眼熟吗?那你肯定没有用功 有不对之处望各位指正,对的我贴上了,但上感觉那个没有赋值的还是有错,好像应该输出all    你们有空再看看吧!


再补上一点儿:
在C++中大家都知道一个类的每一个成员都隐含着一个所属类的指针参数,
其名字规定为this关键字,当一个对象调用一个成员函数时,除了把指定的实参传递给
形参外,还同还把该对象的地址或指针对象的值传递给成员函数中隐含的指针形参this
这里也是这个道理,虽然它不是指针,但你可以这么理解一下



class CITY
{
       private $cityname=null;//个人认为最好也赋下初值的好,虽说系统也默认为NULL

     public function __construct($cityname)//构造函数说白了也是初始化
         {   
            // Load some city-specific data
            $this->cityname=$cityname;//通过$this指针 给本身赋初
         }
   
  public function population($demographic = 'all')
        {   
            if (!$this->countries[$code])  
                  {
                         return $this->population[$demographic]=$demographic;   
                   }
            else
                 {   
                    return $this->population[$demographic];
                  }   
}
class COUNTRY
{
   private $code = null;
   private $cities = array();
   public function __construct($code)
   {
       $this->code = $code;
   }
   public function city($cityname)
   {
       if (!$this->cities[$cityname])
       {
        $this->cities[$cityname] = new CITY($cityname);
       }
       return $this->cities[$cityname];
   }
}
class WORLD
{
   private $countries = array();
   public function country($code = 'us')
   {
       if (!$this->countries[$code])
       {
           $this->countries[$code] = new COUNTRY($code);
       }
       return $this->countries[$code];
   }
}
$world = new WORLD;
// Load the country AND city object
echo $world->country('us')->city('seattle')->population('employed');
// Country US is already loaded, only need to load a new city object.
echo $world->country('us')->city('new york')->population();
?>

[ 本帖最后由 极品黑公子 于 2007-7-30 14:56 编辑 ]
学会怎么调试程序,学会怎么设计模式,学会怎么配置环境,学会怎么带项目,学会怎么分析客户需求

TOP

复制内容到剪贴板
代码:
public function __construct($cityname)//构造函数说白了也是初始化
构造函数应该是和类同名的哦~~~~

粗粗看下,指个错误

楼下的继续
交流QQ群2:16142493
智能手机软件下载
PHP新手不可错过一帖
PHP新手如何获得积分
论坛需要你,我们大家需要你!

TOP

在PHP4中对construct的定义是使用和Class名一样的method,
但是PHP5里面对construct的定义使用_construct()
学会怎么调试程序,学会怎么设计模式,学会怎么配置环境,学会怎么带项目,学会怎么分析客户需求

TOP

引用:
原帖由 极品黑公子 于 2007-7-29 08:02 发表
在PHP4中对construct的定义是使用和Class名一样的method,
但是PHP5里面对construct的定义使用
正解。但是construct前应该是两个“_”不过我测试了一下,一个_居然也可以运行。

TOP

恩   一直用PHP4的
交流QQ群2:16142493
智能手机软件下载
PHP新手不可错过一帖
PHP新手如何获得积分
论坛需要你,我们大家需要你!

TOP

是的一个_是可以的,php5的类的方法使用太象java了我特喜欢可惜不能用,只能用php4苦啊!不过php5中的重载很是不舒服!
等我挣了100万我就找个人娶了!哈哈!

TOP

发新话题