class my_class{function my_funct ($my_param){user_error (please define me, e_error);}function b(){return 10;}}?>
复制代码
a.多重继承b.接口c.抽象方法d.private 方法e.函数重载(function overloading)
7. 假设定义了一个 testclass 类,它的构造函数的函数名是什么?15a.__constructb.initializec.testclassd.__testclasse.只有 php5 才支持构造函数
8. 一个类如何覆盖默认的序列化机制?a.使用__shutdown 和__startup 方法b.调用 register_shutdown_function()函数c.使用__sleep()和__wakeup()方法d.无法覆盖默认序列化机制e.使用 ob_start()将类放入输出缓冲中
9. 以下哪些面向对象的概念无法在 php4 中实现?抽象类final 类public、private、protected(ppp)方法接口a.抽象类b.ppp 方法c.ppp 方法和接口d.以上所有都不可用e.以上所有都可用
10.如何在类的内部调用 mymethod 方法?a.$self=>mymethod();b.$this->mymethod();c.$current->mymethod();d.$this::mymethod()e.以上都不对
11.以下脚本输出什么?
class my_class{var $my_var;function _my_class ($value){$this->my_var = $value;}}$a = new my_class (10);echo $a->my_var;?>
复制代码
a.10b.nullc.emptyd.什么都没有e.一个错误
12.以下脚本输出什么?
class my_class{var $value;}$a = new my_class;$a->my_value = 5;$b = $a;$b->my_value = 10;echo $a->my_value;?>
复制代码
a.10b.5c.2d.nulle.什么都没有
13.以下脚本输出什么?
$global_obj = null;class my_class{var $value;function my_class(){global $global_obj;$global_obj = &$this;}}$a = new my_class;$a->my_value = 5;$global_obj->my_value = 10;echo $a->my_value;?>
复制代码
a.5b.10c.什么都没有d.构造函数将报错e.510
14.考虑如下一段代码,执行时,$eight_tenths->to_string 方法返回的字符串是 8/10 而不是希望的 4/5,为什么?
class fraction {
var $numerator;var $denominator;function fraction($n, $d) {$this->set_numerator($n);$this->set_denominator($d);}function set_numerator($num) {$this->numerator = (int)$num;}function set_denominator($num) {$this->denominator = (int)$num;}function to_string() {return “{$this->numerator} / {$this->denominator}”;}}function gcd($a, $b) {
return ($b > 0) ? gcd($b, $a % $b) : $a;}function reduce_fraction($fraction) {
$gcd = gcd($fraction->numerator,$fraction->denominator);$fraction->numerator /= $gcd;$fraction->denominator /= $gcd;}$eight_tenths = new fraction(8,10);/* reduce the fraction */reduce_fraction($eight_tenths);var_dump($eight_tenths->to_string());?>
复制代码
a.reduce_fraction 函数必须返回一个值b.reduce_fraction 函数必须接受一个整型值c.gcd 函数有问题d.必须通过引用的方式传递$eight_tenths 对象e.对象的实例不能传递给方法以外的其他结构。
15.以下代码是做什么的?
复制代码
a.静态调用 mymethod 方法b.生成 myclass 的实例并调用 mymethod 方法c.产生一个语法错误d.默认 myclass 类最后被创建出的实例并调用 mymethod()e.调用名为 myclass::mymethod()的函数
16.php 中有静态类变量吗?a.有b.没有
17.以下脚本输出什么?
class a{function a ($x = 1){$this->myvar = $x;}}class b extends a{var $myvar;function b ($x = 2){$this->myvar = $x;parent::a();}}$obj = new b;echo $obj->myvar;?>
复制代码
a.1b.2c.一个错误,因为没有定义 a::$myvard.一个警告,因为没有定义 a::$myvare.什么都没有
18.如何即时加载一个类?a.使用__autoload 魔术函数b.把它们定义为 forward 类c.实现一个特殊的错误处理手段d.不可能e.用有条件限制的 include 来包含它们
19.__________提供了一个高性能的解决面向对象中重复出现的问题的方案?答案:__________
20.以下脚本输出什么?
class a{function a(){echo \parent called\;}}class b{function b(){}}$c = new b();?>
复制代码
a.parent calledb.一个错误c.一个警告d.什么都没有 1 2 下一页 尾页
