频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> PHP教程 -> PHP中类的理解和应用[二]

PHP中类的理解和应用[二]

作者:未知  来源:转载  发布时间:2005-9-15 0:25:22  发布人:acx

减小字体 增大字体

     PHP中类的理解和应用[二]
  
    许多PHP的爱好者在学习过程中感到对PHP中类的概念较难理解和掌握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,掌握类的含义就不成问题。鉴于类在PHP的重要作用,本文将结合具体事例介绍PHP中类的概念和应用。
  
  
  (一)
  
    所谓类就是指由变量和作用于变量的函数组成的集合。类提供了一种对现实世界中事物的描述方式。通过有效的使用类,我们可以将描述同一对象的多个变量和函数组合在一起,作为一个整体使用,从而使编写出来的程序更直观,更合理,更易于维护。
  
    举一个比较通俗的例子,我们可以创建一个名为Bike的类来描述现实生活中的一辆自行车。首先,我们设定该类中的变量包括踏板$pedals,链条$chain,前轮$front wheel,后轮$rear wheel,刹车$brakes, 以及手柄$handle。然后,我们创建停车Stop(), 加速Accelerate(), 左转TurnLeft()和右转TurnRight()等函数。这样,我们就有了一个可以描述自行车这一对象所有行为和属性的类。例如,我们可以将$front wheel 和$rear wheel变量传入TurnLeft()函数,从而得到某种输出结果。
  
    也许有人会问上述例子虽然有趣,但是我们完全可以使用常规的变量和函数实现同样功能,为什么一定要坚持使用这么烦琐的类呢?当然,如果我们在脚本中只需要描述一辆自行车话,定义一个类似乎没有什么特殊的价值。但是,如果当脚本需要涉及多辆自行车时呢?如果我们还是采用常规的为每量自行车都定义变量和函数的方法,那么光是跟踪每个变量,确保正确的变量输入正确的函数就是一项相当复杂的工作。相反,如果采用类的方式,就可以有效的减少所需变量的数量。此外,一个已经定义的类还可以被包含在其它文件或脚本中,从而实现代码的重复利用。
  
  
  (二)
  
    对PHP类的概念有所了解之后,我们就来具体看一下如何在脚本中创建和使用类。
  
    相信大家在创建站点时一定会因为要顾及页面的显示效果,字体的样式和大小等细节而影响对整个页面布局和整个站点流程的设计和构思。下面,我们就利用PHP的类来控制HTML的页面输出。
  
    首先,我们使用如下代码创建一个名为Style的类,并在类中定义设置页面属性所需的变量:
  
  <?php
  
  class Style {
  
  var $text;
  
  var $alink;
  
  var $vlink;
  
  var $link;
  
  var $bgcol;
  
  var $face;
  
  var $size;
  
  var $align;
  
  var $valign;
  
  }
  
  ?>
  
    相信熟悉HTML语言的读者一定不会对我们在Style类中声名的变量感到陌生。
  
    下面,我们在Style类中创建一个与类同名的函数。代码如下:
  
  <?php
  
  class Style {
  
  function Style ($text="#000000",$alink="#AA00AA",$vlink="#AA00AA",
  
  $link="#3333FF",$bgcol="#999999",$face="Arial",$size=3,
  
  $align="CENTER",$valign= "TOP")
  
  {
  
  $this->text=$text;
  
  $this->alink=$alink;
  
  $this->vlink=$vlink;
  
  $this->link=$link;
  
  $this->bgcol=$bgcol;
  
  $this->face=$face;
  
  $this->size=$size;
  
  $this->align=$align;
  
  $this->valign=$valign;
  
  }
  
  }
  
  ?>
  
  说明:
  
  在类中可以使用“$this”指代类本身,使用“->”运算符引用类中的各个变量或函数。类中创建的与类同名的函数称为构造函数。构造函数在创建新的对象实例时自动执行,从而将类中设定的默认值赋予该对象实例。
  
    PHP中,我们可以通过创建对象实例的方法使用一个已经定义的类。语法格式如下:
  
    <?php $Instance_name = new Class; ?>
  
    例如,本例中我们可以使用如下代码创建一个名为$Basic的对象实例,该对象实例将自动获得Style类中构造函数指定的默认值:
  
    <?php $Basic = new Style; ?>
  
    一个类可以创建多个对象实例,其中每个对象实例都继承该类的默认属性,可以调用类中的所有变量和函数。有时我们可能需要为由同一个类创建的多个对象实例设置不同的属性,虽然我们可以在创建对象实例时修改类的默认值,但是这种方式一方面缺乏灵活性,另一方面按照PHP的约定,如果用户在创建新的对象实例时声明了某个变量值的话,则必须同时声明该类中所声明变量之后的所有变量。例如,如果我们在创建$Basic对象实例时显式修改了text变量值的话,则必须同时再声明该类中位于text变量之后的所有变量,即Style类的全部变量都需要再重新声明一遍。显然,我们需要使用其它更为便捷的方式修改对象实例中的某个变量值。这里,我们可以通过在Style类中创建一个专门用于修改变量值的函数实现上述功能。具体代码如下:
  
  Function Set($varname,$value) {
  
  $this->$varname=$value;
  
  }
  
    例如,如果我们需要将$Basic对象实例中size变量的值改为2时,使用如下代码即可实现:
  
  <?php $Basic->Set( ‘size’, 2); ?>
  
  说明:
  
  ->运算符用于向PHP解释器说明运行$Basic对象实例中的Set()函数。
  
    通过有效的使用Set()函数,我们可以灵活的设置和控制不同的对象实例。比方说,如果我们希望为页面输出表格的标题行和内容行设置不同的背景颜色和字体大小的话,可以首先创建两个对象实例,然后使用Set()函数分别设置各自不同的属性。具体代码如下:
  
  <?php
  
  $Tableheader= new Style;
  
  $Tableheader->Set( 'text', '#0000FF');
  
  $Tableheader->Set( 'bgcol', '#000000');
  
  ?>
  
  <?php
  
  $Tablecontent=new Style;
  
  $Tablecontent->Set( 'bgcol', '#AAAAAA');
  
  $Tablecontent->Set( 'size',2);
  
  ?>
  


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· ASP Function in common..
· asp分页的一个类
· Flash MX 编程深层次应用..
· 唱片公司起诉雅虎中国 法..
· .net中的事务处理(二)..
· Access数据库技术(02)..
· 测字符串长度函数
· 用3D MAX制作一个枕头(..
· Windows 2000下安装PHP4..
· 使用递归获取网站下的所..
· 虎酷网遭美国法院没收 版..
· Dreamweaver MX技巧汇粹..
· 时代互联指“起诉时代互..
· 网页切片算法的若干问题..
· 搜索引擎及其优化的新趋..
· 用 Fireworks MX 做齿轮..
相关文章
· PHP中常用的几个 mysql 语句..
· 详细讲解PHP中缓存技术的应..
· 与高手过招,快来参加9月22..
· 详细学习PHP中对文件和目录..
· 在PHP中运行XPath查询
· PHP中几种删除目录的三种方..
· php中rename()函数的妙用
· PHP中的sprintf()函数的学习..
· 如何制作PHP中的Cookies?
· 简单学习动态网页制作PHP中..
· 怎么样在PHP中用递归替换数..
· 详细讲解动态网页制作技术P..
· 动态网页技术PHP中关于类的..
· PHP中利用GD输出汉字实例
· PHP中使用XML-RPC构造Web S..
· PHP中实现图片的锐化
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号