美文网首页
PHP子类对象不能直接访问父类的属性

PHP子类对象不能直接访问父类的属性

作者: 御风而来的蚂蚁 | 来源:发表于2018-08-31 18:21 被阅读0次

今天再看PHP手册时候发现一个问题,那就是PHP子类对象不能直接访问父类的属性,这实在让人疑惑,现在先记录,以后看有什么解释没有。例子:

class MyClass

{

    public $public = 'Public';

    protected $protected = 'Protected';

    private $private = 'Private';

    function printHello()

    {

echo "This is Myclass".PHP_EOL;

        echo $this->public.PHP_EOL;

        echo $this->protected,PHP_EOL;

        echo $this->private,PHP_EOL;

    }

}

class MyClass2 extends MyClass

{

public $public = 'Publi2c';

    protected $protected = 'Protected2';

    function printHello2()

    {

        echo $this->public.PHP_EOL;

        echo $this->protected,PHP_EOL;

        echo parent::$public,PHP_EOL; //此时,会报错,Uncaught Error: Access to undeclared static property: MyClass::$public 

    }

}

$obj2 = new MyClass2();

$obj2->printHello2();

相关文章

  • PHP子类对象不能直接访问父类的属性

    今天再看PHP手册时候发现一个问题,那就是PHP子类对象不能直接访问父类的属性,这实在让人疑惑,现在先记录,以后看...

  • iOS继承中子类如何调用父类私有方法

    一、子类继承父类的super和方法覆盖 1.子类对象不能在自己的方法内部,直接访问父类的私有属性或私有方法2.子类...

  • java基础-Super&Return&instanceof

    Super关键字 主要存在于子类方法中,用于指向子类对象中父类对象。其作用包括下面几种 访问父类的属性 访问父类的...

  • super关键字

    在对象的内部使用,可以代表父类对象。 1 访问父类的属性 2访问父类的方法 super的应用 子类的构造的过程中必...

  • 第十一章继承

    使用继承 父类 子类 子类访问父类成员 super 使用super 关键字,super代表父类对象 访问父类的构...

  • Scala入门与进阶(四)- Scala面向对象

    Scala面向对象 1.面向对象概述 封装:属性方法封装到类中 继承:父类和子类直接的关系 多态:***** 父类...

  • Day-14 继承和多态

    子类可以拥有父类所有的非私有的属性和方法子类可以重写父类的方法父类不能使用子类的方法 对象属性的继承:是通过继承i...

  • 父类属性和子类属性同名

    上转型中: 如果父类中的属性和子类的属性同名的时候, 父类对象认为认为子类的属性是特有的 , 父类定义的对象只...

  • day16-课后总结

    面向对象 1.类的继承 a.什么是继承父类(超类):被继承的类子类:去继承父类的类继承就是然子类直接拥有父类的属性...

  • 访问控制修饰符的注意点一:

    当子类重写(override)父类成员的时候,子类的访问范围不能低于父类的访问范围。 当父类为public,子类只...

网友评论

      本文标题:PHP子类对象不能直接访问父类的属性

      本文链接:https://www.haomeiwen.com/subject/qyjewftx.html