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这三种