首页 > 试题广场 >

Classdemo{ConstC="const";},...

[单选题]
Class demo{Const C = "const";},以下调用demo类中的常量C正确的是:
  • $Cls = new demo();$Cls->C;
  • Demo::$C;
  • Demo::C;
  • Demo->$C;
类中的常量使用const定义后,其访问方式和静态成员类似,都是通过类名或在成员方法中使用self访问,但在PHP 5.3.0之后也可以使用对象来访问。被const定义的常量不能重新赋值,如果在程序中试图改变它的值将会出现错误。
  1. <?php
  2. class MyClass {
  3. const CONSTANT = 'CONSTANT value' ; //使用const声明一个常量,并直接赋上初使值
  4. function showConstant() {
  5. echo self ::CONSTANT ."<br>" ;//使用self访问常量,注意常量前不要加“$”
  6. }
  7. }
  8. echo MyClass:: CONSTANT . "<br>" ; //在类外部使用类名称访问常量,也不要加”$”
  9. $class = new MyClass();
  10. $class->showConstant();
  11. echo $class ::CONSTANT; // PHP 5.3.0之后
  12. ?>
编辑于 2017-09-05 11:47:47 回复(0)
MMp,What a *** question!
发表于 2020-11-24 10:24:39 回复(0)
可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。
自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 selfparent 或 static)。
<?php
    class demo{
    const constant = 'const';
    /*****成员方法*****/
    function showConstant() {
        echo  self::constant . "\n";
    }
}
/********通过类名访问*******/
echo demo::constant . "\n";   
$classname = "MyClass";
echo $classname::constant . "\n"; // 自 5.3.0 起

/********通过成员方法中使用self访问*******/
$class = new demo();
$class->showConstant();
echo $class::constant."\n"; // 自 PHP 5.3.0 起
?>

这是我所理解的,但是用对象访问是如何访问的呢?new一个对象,然后通过成员方法中使用self方法访问?
发表于 2017-09-03 22:20:48 回复(0)