第七章:PHP面向对象测试题2

更新于:1497440989

1、
关于类方法重写描述正确的是:

 A、父类方法的访问修饰符是public,子类方法重写访问修饰符可以是protected
 B、子类重写父类方法,参数要求与父类的一致
 C、构造方法重写时,参数要求与父类的构造方法参数也必须一致
 D、子类可以定义跟父类私有的同名属性或方法,不过方法的参数必须一致

2、
对象的属性重载会调用类中的一些魔术方法,那下面描述正确的是:

 A、取值:$v1 = 对象->属性;   ===>自动调用类中的__get()方法
 B、对象->属性 = XX值;  ===>自动调用类中的__set()方法
 C、判断是否存在:isset(对象->属性;) ===>自动调用类中的__isset()方法
 D、销毁:unset(对象->属性;)   ===>自动调用类中的__unset()方法

3、
对象的方法重载主要靠哪个魔术方法实现?(只写出方法名,不用带括号)

请输入正确答案【不区分大小写】:

4、
关于抽象类、抽象方法描述正确的是:

 A、一个抽象类中,可以没有抽象方法
 B、子类继承自一个抽象类,则子类必须实现父类中的所有抽象方法,除非子类也继续作为抽象类
 C、抽象方法可以定义在普通类里
 D、子类实现抽象父类的方法时,访问控制修饰符的范围不能降低,且方法的参数也须一致——其实这就是重写,所以要满足重写的要求。

5、
关于接口描述正确的是:

 A、接口中定义的所有方法都必须是public
 B、接口中的方法都是抽象方法
 C、一个类实现一个接口,必须重写所有的抽象方法
 D、一个接口只能继承一个“上级接口”

6、
class B{ public $a1 = 2; } class A{ public $a1; function __construct(){ $this->a1 = new B(); } } $o1 = new A(); $o2 = clone $o1; $o1->a1->a1 = 20; $o2->a1->a1的值是:

 A、2
 B、20

7、
PHP可以对函数(或方法)的参数设定必须使用的类型,一般只能对哪些数据类型做约束

 A、int
 B、array
 C、string
 D、stdClass