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

更新于:1496135770

1、
下面关于类说法正确的是

 A、类名必须采用大驼峰法命名,首字母必须大写
 B、每定义一个类都要单独地写到一个文件里,并按照这样的格式命名:类名.class.php,这也是一种良好的习惯,实际项目开发时都得这样写的
 C、有种叫法的区别:类里的变量我们称为属性,函数我们称为方法,同理,类外面的属性我们称为变量(方法和函数里的变量也称为变量),方法我们称为函数。
 D、类中定义的属性前面可以不用加访问修饰符,会默认是public

2、
定义类的语法中,可以出现哪几种代码

 A、定义属性(变量)
 B、定义方法(函数)
 C、定义常量(类常量)
 D、调用函数

3、
类中定义一个属性,正确的是

 A、public $v1 = 1+3;
 B、public $v2 = time();
 C、$v3 = 4;
 D、protected $v4;

4、
class Person{ //类中有一些属性(就是变量): public $name = '匿名'; public $sex = '未知'; public $age = '保密'; public static $count = 0;//人数统计 function __construct($name,$sex){//构造方法,对象创建时就对name属性、sex属性赋值 $this->name = $name; $this->sex = $sex; } //类中有一些方法(就是函数) function showAge(){ echo "<br />" . $this->name . "的年龄是".$this->age;//$this就是自己。 } } $p1 = new Person('超级楠神','男'); 下面哪些代码能正常运行不报错?

 A、$p1->$name = '楠神二号';
 B、Person::$name = '楠神二号';
 C、Person::showAge();
 D、$p1::$count++;

5、
关于static说法正确的是

 A、静态属性隶属于类本身——也可以看做是所有对象的“共有数据”
 B、静态属性在类外部可以用“类名::$静态属性名”,也可以用“$对象变量::$静态属性名”
 C、静态方法的代码里不可以出现$this关键字
 D、静态方法代码里不能调用一般属性和一般方法,只能调用静态变量、静态方法或类常量。

6、
一个类的构造方法不需要传入参数,实例化对象时可以这样 $o = new 类名;类名后面可以不用加括号

 A、正确
 B、错误

7、
$p1 = new Person(); $p2 = $p1; $p1->name = '楠神'; $p2->name = '楠神二号'; 下面正确的是:

 A、$p1->name的值是“楠神二号”
 B、$p1->name的值是“楠神”

8、
class Person { public static function name() { echo "人"; echo "<br />"; } public static function callself() { self::name(); } public static function callstatic() { static::name(); } } class Man extends Person { public static function name() { echo "男人"; echo "<br />"; } } Man::callself(); Man::callstatic();

 A、Man::callself();输出“人”
 B、Man::callself();输出“男人”
 C、Man::callstatic();输出“人”
 D、Man::callstatic();输出 “男人”

9、
范围解析操作符(::)使用场合和方式描述正确的是

 A、A是类名, A::只能在A类的外部使用,A类的内部调用A类的成员必须用self::
 B、self:: 在类内部使用,self引用的是当前类的作用域,例如A类的self指的就是A
 C、parent:: 在类内部使用,parent引用的是父类的作用域,例如A类继承B类,A类的parent指的就是B
 D、self::$name,此时$name可以是一个类的一般属性也可以是静态属性

10、
关于访问描述符说法正确的是

 A、public权限最大,被修饰的类成员可以在“任何位置”使用(访问)
 B、protected 受保护的,修饰的成员,可以在当前类或当前类的上下级具有继承关系的类中访问。
 C、private 修饰的成员,只能在其所在的类中访问。
 D、PHP访问修饰符只有public、protected、private这三种