WAP与PHP - 进阶篇 之一 |
|---|
| WAP技术站:www.wapease.com
|
如图1是我们建立的各种对象,其中的方框表示对象,而连线则表示包含关系,上层的对象包含下层的对象。 图1 PHP对象图 对于具体对象的实现,需要遵循PHP的语法。对象中包含属性与方法,其中属性用来描述每个对象的特征,或者说,只要确定了属性,那么我们就确定了对象。对象中的方法描述了对象的操作,这些操作可以包括属性的设置、读取、显示等。因此,我们在实现以上所定义的对象时,需要提供完整的属性与必需的方法。 举Deck的例子,如果要确定一个Deck(Card),我们需要知道它内部的所有元素,这些元素就是我们定义过的Image、Text等对象,因此Deck中应该包含有关这些对象的属性。另外,Deck还包含一些设置性的参数,如标题等,因此我们也可以为它定义"Title"属性等。就方法而言,我们所定义的对象中比较重要的方法是自构函数和创建函数。其中自构函数是指在创建一个对象(类)时所应完成的初始化,如设置标题头等;创建函数则产生有关该对象的WML代码,以组成一个完整的WML页面。在这里,面向对象的方法简化了创建函数,因为每个对象只用调用其属性(对象)的创建函数即可。如Deck对象要创建有关Table的代码时,则Deck中一定具有Table属性,那么直接调用Table的创建函数即可,同样,Table可以调用Row的创建函数,有些像对象的嵌套,这种机制无疑简化了开发过程。 另外,对于Deck,由于它的属性可以是Text、Image、Table、Form、Link中的任一个,它就需要确定其每个属性的类型,以进行相应的处理。为了实现这点,可以在每个对象中定义一个获得该对象类型的方法,该方法(函数)返回一个标识以供Deck确认,例如,对于Text,可以使其返回0,对于Image,可以使其返回1等。对于Interact对象,也存在着与Deck相同的问题。 在编写代码的过程中,我们应该尽量保持代码的可读性和可维护性,因此应尽量少使用无确切含义的数字和标识。例如上面所定义的返回值0或1,就难以让人理解。为了解决这个问题,我们可以使用define函数,将数字与一个符号对应,例如我们可以I_AM_TEXT表示0,I_AM_IMAGE表示1,从而增强了代码的可读性。 |
| 上一篇:WAP与PHP - 基础篇 下一篇:WAP与PHP - 进阶篇 之二 |
|
