您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > oop测试题(含答案)
OOP阶段测试题【时间:90分钟】一.选择题(本答题中所有小题只有一个正确选项,每题2分,共60分)1、以下是一个类的声明,其中有两个成员属性,对成员属性正确的赋值方式是(B)classDemo{private$one;publicstatic$two;functionsetOne($value){$this-one=$value;}}$demo=newDemo();A.$demo-one=abc;B.Demo::$two=abc;C.Demo::setOne(abc);D.$demo-two=abc;2、以下说法错误的是(B)A.final关键字标识的类不能被继承B.final关键字既可以标识成员方法,也可以标识成员属性C.静态方法可以通过类名直接调用D.将类中的成员属性定义为常量使用const3、以下说法错误的是(B)A.在外部访问静态成员属性时使用类名::静态成员属性名B.在外部访问静态成员属性时使用$实例化对象-静态成员属性名C.在外部访问静态方法时使用$实例化对象-静态方法名D.在外部访问静态方法时使用类名::静态方法名4、以下代码执行结果为()?php$a=”hello”;functionprint_A(){$a=”phpmysql”;global$a;echo$a;}echo$a;print_A();?AhelloBphpmysqlChellohelloDhellophpmysql5、PHP中调用类文件中的this表示(A)A本类实例化的对象变量B本页面C本方法D本变量6、PDO通过执行SQL查询与数据库进行交互,可以分为多种不同的策略,使用哪一种方法取决于你要做什么操作。如果向数据库发送delete语句,下面哪种方式最合适也最安全(C)A.使用PDO对象中的exec()方法B.使用PDO对象中的query()方法C.使用PDO对象中的prepare()和PDOStatement对象中的execute()两个方法结合D.以上方式都可以7、在PHP中哪个变量数组总是包含所有客户端发出的Cookies数据(B)A.$_COOKIESB.$_COOKIEC.$_GETCOOKIED.$_GETCOOKIES8、阅读下面PHP程序代码,写出执行结果:classtest{Cprivate$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”);A.X被构造Y被构造X被析构Y被析构B.X被构造X被析构Y被构造Y被析构C.X被构造Y被构造Y被析构X被析构D.X被构造X被析构Y被析构Y被构造9、下列那个选项是正确的引用文件的方法(A)A.require和includeB.require和functionC.define和includeD.function和include10、写出如下程序的输出结果?php$str1=null;$str2=false;echo$str1==$str2?'相等':'不相等';$str3='';$str4=0;echo$str3==$str4?'相等':'不相等';$str5=0;$str6='0';echo$str5===$str6?'相等':'不相等';?A相等相等不相等B相等相等相等C不相等相等不相等D不相等不相等不相等11、以下哪个错误级别会使程序崩溃,阻止并退出程序?(C)A.E_WARNINGB.E_NOTICEC.E_ERRORD.以上都可以12、下面程序运行结果为(B)。?php$nextWeek=time()+(7*24*60*60);echo'Now:'.date('Y-m-d').br/;echo'NextWeek:'.date('Y-m-d',$nextWeek).br/;?A.得到今天的日期(月-日)B.得到今天的日期(年-月-日)与下周的日期(年-月-日)C.得到现在的时间(小时-分-秒)D.得到现在到下周的时间间隔13、下面那种说法是错误的:DA.子类中的私有方法可以调用父类中的受保护的属性B.子类中的公有方法可以调用父类中受保护的属性C.父类中私有的方法可以调用子类中公有的属性D.父类中受保护的方法可以调用子类中私有的方法14、下面四个魔术方法哪一个是需要两个参数BA.__getB.__setC.__issetD.__unset15、当PDO对象创建成功后,与数据库的连接已经建立,就可以使用PDO对象了,下面哪个不是PDO对象中的成员方法(B)AerrorInfo()BbindParam()Cexec()Dprepare()16、16、imgsrc=namealign=left的意思是(A)A.图像相对于周围的文本左对齐B.图像相对于周围的文本右对齐C.图像相对于周围的文本底部对齐D.图像相对于周围的文本顶部对齐17、链接元素a有很多属性,其中用来指明链接所指向的URL的属性是(A)A.hrefB.herfC.targetD.Link18、以下代码运行的结果为(C)?php$a[]=1;$a[]=2;$a[]=3;$a[2]=4;for($i=0;$icount($a);$i++){if($i==2){echo$a[$i];}}?A.2B.3C.4D.119、下面给出正则表达式,请选择能正确匹配的字串。正则:/ax{4}b/.DA.axxxxxbB.axxxbC.axaxaxaxbD.axxxxb20、下面哪条命令可把./dir1目录(包括它的所有子目录)内容复制到./dir2中?(D)A.cp-i./dir1/*./dir2B.cp-P./dir1/*./dir2C.cp-d./dir1/*./dir2D.cp-r./dir1/*./dir221、哪种OOP设计模式能让类在整个脚本里只实例化一次?(C)A.MVCB.代理模式C.单态模式D.抽象工厂模式22、请看代码,数据库关闭指令将关闭哪个链接标识?B?php$link1=mysql_connect(“localhost”,”root”,””);$link2=mysql_connect(“localhost”,”root”,””);mysql_close();?A.$link1B$link2C全部关闭D报错23、下面语句执行的结果是:____B___?php$i=0;echo++$i;echo$i++;$a=++$i;echo$a++;$i=$a;echo$i;A:1234B:1134C:1233D:1235E:以上都不是24、下面那些说法是错误的:__A__A:如果一个类的成员前面有访问修饰符private,那么这些成员不能被继承,并且在类的外部不可见。但如果成员被指定为protect和public,则可以被继承,在类的外部也是可见的。B:PHP5中,final关键字可以禁止继承和重载。C:PHP5中析构函数的名称是:__destruct().并且不能有任何参数。D:继承接口的类要实现接口中声明的方法,在php中,如果继承接口的类没有实现接口中的所有方法,则必须被声明为一个抽象类。25、下面关于php与mysql数据库操作函数叙述错误的是:DA.mysql_fetch_row()--从结果集中取得一行作为索引数组B.mysql_fetch_assoc()--从结果集中取得一行作为关联数组C.mysql_fetch_array()--从结果集中取得一行作为关联数组或索引数组或二者兼有D.mysql_fetch_object()--从结果集中取得一行作为索引数组26、如下表结构:Cmysqlselect*fromstudent;A.SELECT*FROMstudentB.SELECT*FROMstudentWHEREsage=22C.SELECT*FROMstudentLIMIT1,1D.SELECT*FROMstudentWHEREsnameLIKE'%q%'27、下面的脚本运行以后,$array数组所包含的值是什么?(B)$array=array(‘1’,’1’);foreach($arrayas$k=$v){$v=2;}A.array(‘2’,’2’)B.array(‘1’,’1’)C.array(2,2)D.array(Null,Null)28、下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串?(A)A.$s1+$s2B.“{$s1}{$s2}”C.$s1.$s229、mysql_insert_id()函数的作用是:BA.查看下一次插入记录时的ID号B.查看刚刚插入过的自动增长ID值C.查看一共做过多少次insert操作D.查看一共有多少条记录30、借助继承,我们可以创建其他类的派生类。那么在PHP中,子类最多可以继承几个父类?(A)A.1个B.2个C.取决于系统资源D.想要几个有几个二.简答题(根据题目回答问题,共20分)1.完成一个正则表达式,验证用户输入是否Email地址,要求后缀域名最多只有三级。(4分)答案:$email_pattern='/\w{1,}@(\w{1,}\.){1,2}\w{1,}/i';2.PDO中开启、提交、回滚事务的三个方法是什么?(3分)beginTransaction()commit()rollback()3.如何在子类中调用被覆盖掉的父类方法?(3分)答案:parent::方法名4.三种访问控制修饰符在本类、子类和类外的访问权限分别是什么?以表格的形式呈现。(10分)三P控制public(公有)protected(受保护)private(私有)===========================================================在本类中YYY在子类中YYN在类外边YNN三.程序题(根据题目要求写程序,共20分)1.使用PDO用别名参数绑定值的方式写一个删除Stu表中id为10的学生信息,id通过$_GET方式传入。(5分)2.写一个具有单态设计模式的类。(5分)3.声明一个Person类,其中受保护成员属性有:name、sex、age。在构造方法中传入默认值name=’赵四’,sex=’男’,age=29;在类的外部实例化一个对象,外部改变赵四的年龄为18,然后输出age的属性值。在类的内部声明一个say()方法介绍自己的姓名、年龄、性别,在类外部调用该方法。(10分)
本文标题:oop测试题(含答案)
链接地址:https://www.777doc.com/doc-2847484 .html