| |
本文主要以PHP4位主讲解,PHP5中对于类有了更强劲的处理办法。
什么是类?

简单的说,类就是一些变量与作用于这些变量的函数的集合。

下面的方法定义了一个购物车类:



<?php
class Cart {
   var $items;  

   function add_item($artnr, $num) {
       $this->items[$artnr] += $num;
   }

   function remove_item($artnr, $num) {
       if ($this->items[$artnr] > $num) {
           $this->items[$artnr] -= $num;
           return true;
       } elseif ($this->items[$artnr] == $num) {
           unset($this->items[$artnr]);
           return true;
       } else {
           return false;
       }
   }
}
?>



上面的代码类定义了一个Cart类,它包含一个商品的数组和一个删除商品和添加商品的函数。

不能将一个类的定义分割到多个文件中。也不能将一个类的定义分割到多个 PHP 块中,除非该分割是在一个方法声明内部。以下用法将不起作用:


<?php
class test {
?>
<?php
   function test() {
       print 'OK';
   }
}
?>


在 PHP 4 中,var 变量的值只能初始化为常量。用非常量值初始化变量,需要一个初始化函数,该函数在对象被创建时自动被调用。这样一个函数被称之为构造函数

<?php
/* PHP 4 &#20013;&#19981;&#33021;&#36825;&#26679;&#29992; */
class Cart {
   var $todays_date = date("Y-m-d");
   var $name = $firstname;
   var $owner = 'Fred ' . 'Jones';
   /* &#19981;&#36807;&#21253;&#21547;&#26377;&#24120;&#37327;&#30340;&#25968;&#32452;&#21487;&#20197; */
   var $items = array("VCR", "TV");
}

/* &#24212;&#35813;&#36825;&#26679;&#36827;&#34892; */
class Cart {
   var $todays_date;
   var $name;
   var $owner;
   var $items = array("VCR", "TV");
   function Cart() {
       $this->todays_date = date("Y-m-d");
       $this->name = $GLOBALS['firstname'];
       /* etc. . . */
   }
}
?>

类也是一种类型,就是说,它们是实际变量的蓝图。必须用 new 运算符来创建相应类型的变量。

<?php
$cart = new Cart;
$cart->add_item("10", 1);

$another_cart = new Cart;
$another_cart->add_item("0815", 3);
?>

Tags:
by admin | 来自 本站原创 | 不指定 2008-4-23 02:02 | 分类: PHP | 评论(1) | 引用(1) | 阅读(225)
gg Email Homepage
2008-5-28 01:50
angerbadcoolcrydogenvyfear
百奥谷对阿里妈妈新产品的猜测
[2008-5-6 14:30]
来源:百奥谷 - 迎接百奥谷
内容:百奥谷结论:整合中小网站,把网站按地区,按行业,按性质归类,制作出很多的行业门户,地区门户,大做品牌广告!具体的名字好像是“全国联播”?...
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]