OOP练习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、选择题1、如何让一个对象实例调用自身的该对象的方法函数“mymethod”?dA.$self=mymethod();B.$this-mymethod();C.$current-mymethod();D.$this::mymethod();2、以下是一个类的声明,其中有两个成员属性,对成员属性正确的赋值方式是(d)classDemo{private$one;static$two;functionsetOne($value){$this-one=$value;}}$demo=newDemo();A.$demo-one=abc;B.Demo::$two=abc;C.Demo::setOne(abc);D.$demo-two=abc;3.以下说法错误的是(d)A.final关键字标识的类不能被继承B.final关键字标识既可以标识成员方法,也可以标识成员属性C.在静态方法中只能访问静态成员D.将类中的成员属性定义为常量使用const4.一个类继承父类的同时实现多个接口的正确写法(b)A.class类名extends父类名,接口1,接口2,……{}B.class类名implements接口1,接口2,……extends父类名{}C.class类名extends父类名implements接口,1接口2,……{}D.class类名implements父类名implements接口,1接口5.下面哪一项不是PHP中面向对象的机制(d)A.类B.属性、方法C.单一继承D.多重继承6.如果成员没有声明限定字符,属性的默认值是:(C)A.privateB.protectedC.publicD.final7.PHP中调用类文件中的this表示(A)A.用本类生成的对象变量B.本页面C.本方法D.本变量8.在PHP5的类的定义中,无法使用3P修饰的内容是(B)A.属性B.静态方法C.常量D.方法9.定义抽象类时需要加的修饰关键字(B)A.publicB.interfaceC.implementsD.abstract10.一个类继承父类的同时实现多个接口的正确写法(B)A.class类名extends父类名,接口1,接口2,……{}B.class类名implements接口1,接口2,……extends父类名{}C.class类名extends父类名implements接口,1接口2,……{}D.class类名implements父类名implements接口,1接口2,……{}11.自动加载类函数(C)A.include()B.require()C.__autoload()D.__call()12.如果父类中方法加上private修饰关键字,子类在继承中重载此方法不可以使用的修饰关键字()A.varB.publicC.protectedD.private13、除了使用function__construct()定义构造方法外,还可以使用(D)A.function__destruct()B.function类名()C.function__tostring()D.function__call()14、获得实例化对象所属类名字的函数()A.get_class()B.get_object_vars()C.get_class_methods()15.以下哪个不属于面向对象编程的三大特性()A.接口B.封装C.继承D.多态16.下列代码执行后,$array数组所包含的值是()?php$array=array('1','1');foreach($arrayas$k=$v){$v=2;}var_dump($array);?Aarray(‘2’,’2’)Barray(‘1’,’1’)Carray(2,2)Daraay(Null,Null)17.以下代码执行结果为()?php$a=”hello”;functionprint_A(){$a=”phpmysql”;global$a;echo$a;}echo$a;print_A();?AhelloBphpmysqlChellohelloDhellophpmysql18.关于类的说法错误的是:A.抽象类中必须有抽象方法B.接口中不能有静态属性C.一个类可以实现多个接口D.final关键字声明的方法不能被重写19.关于对象中克隆的说法错误的是:A.clone是复制了一个对象变量B.clone的对象和原对象使用instanceof判断结果相同C.clone的对象改变一定会影响原对象D.__clone魔术方法是克隆对象时才会被触发的方法20.下面四个魔术方法哪一个是需要两个参数A.__getB.__setC.__issetD.__unset21.classdemo{private$name=‘zhangsan’;publicfunction__get($a){returntrue;}publicfunction__set($b){returnfalse;}publicfunction__isset($c){returntrue;}publicfunctionunset($d){echo‘true’;}}上面的四个魔术方法那个是错误的:A.__getB.__setC.__issetD.__unset22.修饰成员属性的关键字错误的是A.publicB.staticC.privateD.final23、阅读下面PHP程序代码,写出执行结果:Classtest{Private$name;Publicfunction__construst($name){$this-name=$name;Echo“{$this-name}”被构造;}Publicfunction__destruct($name){$this-name=$name;Echo“{$this-name}”被析构;}$t1=newtest(“X”);$t2=newtest(“Y”);}AX被构造Y被构造X被析构Y被析构BX被构造X被析构Y被构造Y被析构CX被构造Y被构造Y被析构X被析构24、阅读下面PHP程序代码,写出执行结果:classTest{public$x=10;protected$y=100;private$z=1000;publicfunction__get($name){return$this-$name*2;}}$t=newTest();echo$t-x.:.$t-y.:.$t-z;A10:100:1000B10:200:2000C10:200:1000D20:200:200025.关于PHP5中的异常,下列四句描述中哪句是错误的()。A.异常也是一个类B.为了抛出我们自建的异常,我们必须使用throw语句实现C.异常在抛出后会在父一层被自动消灭掉D.要容忍某些特定的异常,我们应该使用try…catch语法的同时,留空catch段二、简答题1.写出8个魔术方法?__getUNSETISSETSETCALL2.构造方法和析构方法什么时候被调用?3.三种访问控制修饰符在访问和继承时的区别?4.PDO中开启、提交、回滚事务的方法?

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功