|
函数定义部分
//本函数实现特殊字符的转换 //入口参数:字符串$words //出口参数:字符串&convert_ok function convert_character($words) { //将WML语言保留字符如"<"等转化为"<"格式 $convert_words=htmlspecialchars($words);
//将"m"等ASCII码大于160的字符转化为" "(x为其ASCII码值)的形式 for ($i=0; $i<strlen($convert_words); $i++) { if (ord(substr($convert_words, $i, 1)) >= 160) $convert_ok.="&#".ord(substr($convert_words,$i,1)).";"; else $convert_ok.=substr($convert_words,$i,1); }
//返回转换后的字符串 return($convert_ok);
2.4 Table对象的实现 Table对象代表了表格元素,其包含的属性和方法如下表所示:
属性名称 含义 $table_row 表格所包含的行,为Row对象的数组 $row_number 表格所包含的行的数目
表7 Table对象的属性
方法名(函数) 含义 My_Table 自构函数,对象创建时被自动调用 add_row 加入新行 My_Type 返回对象类别(I_AM_TABLE) Make_Element 产生与Table对象相关的代码
表8 Table对象方法
表格对象与Text与Image对象不太一样,它其中还包含了子对象Row,所以它创建代码时会调用子对象Row的Make_Element函数。Table的Make_Element函数代码如下所示:
//创建Table部分代码 function Make_Element($deck) { $max_column_number = 0; for ($i = 0; $i < $this->row_number; $i++) { $the_row = $this->table_row[$i]; $column_number = $row->get_column_number(); if ($column_number > $max_column_number) $max_column_number = $column_number; } printf("<table columns=\"%d\">\n", $max_column_number); for ($i = 0; $i < $this->row_number; $i++) { $the_row = $this->table_row[$i]; $the_row->Make_Element(&$deck); }
echo "</table></br>\n"; }
2.5 Row对象的实现 Row对象是Table对象的属性之一,它所包含的属性与方法如下表所示:
属性名称 含义 $column 行所包含的单元格,是一个数组,元素值可为Text或Image对象 $column_number 行所包含的单元格数目
表9 Row对象的属性
方法名(函数) 功能 My_Row 自构函数,对象创建时被自动调用 Add_Element 加入单元格 get_column_number 返回单元格数目 My_Type 返回对象类别(I_AM_ROW) Make_Element 产生与Row对象相关的代码
表10 Row对象的方法
由于Row所包含的单元格也是我们所定义的Text和Image等对象,因而在创建其代码是会调用Text或Image对象的Make_Element函数。 "Deck--Table--Row--Text(Image)",这种包含关系体现了面向对象的编程观点,条理清晰,降低了设计难度。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页 |